The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Kipple, reference main (7b64f9), with Swift 6.3 for Linux on 14 Apr 2026 14:43:15 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bdrelling/Kipple.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/bdrelling/Kipple
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 7b64f96 Updated for Concurrency
Cloned https://github.com/bdrelling/Kipple.git
Revision (git rev-parse @):
7b64f96fa67d68b35722029f2ef02a417a911b62
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/bdrelling/Kipple.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.3
Building package at path:  $PWD
https://github.com/bdrelling/Kipple.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:5a7d791d2ead8a924b1292cb31bf3288eabcfe8880e0b005b00b45b71a5bc36a
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest
Fetching https://github.com/bdrelling/KippleTools
Fetching https://github.com/apple/swift-collections
Fetching https://github.com/apple/swift-log
Fetching https://github.com/kishikawakatsumi/KeychainAccess
Fetching https://github.com/devicekit/DeviceKit
[1/23537] Fetching swift-collections
[2/27925] Fetching swift-collections, keychainaccess
[1411/28645] Fetching swift-collections, keychainaccess, kippletools
[2751/35214] Fetching swift-collections, keychainaccess, kippletools, swift-log
[3692/39613] Fetching swift-collections, keychainaccess, kippletools, swift-log, devicekit
Fetched https://github.com/devicekit/DeviceKit from cache (1.31s)
[12974/35214] Fetching swift-collections, keychainaccess, kippletools, swift-log
Fetched https://github.com/apple/swift-log from cache (1.73s)
[10051/28645] Fetching swift-collections, keychainaccess, kippletools
Fetched https://github.com/kishikawakatsumi/KeychainAccess from cache (1.75s)
[6605/24257] Fetching swift-collections, kippletools
Fetched https://github.com/bdrelling/KippleTools from cache (3.26s)
Fetching https://github.com/apple/swift-algorithms
Fetched https://github.com/apple/swift-collections from cache (3.34s)
[1/6058] Fetching swift-algorithms
Fetched https://github.com/apple/swift-algorithms from cache (0.73s)
Computing version for https://github.com/kishikawakatsumi/KeychainAccess
Computed https://github.com/kishikawakatsumi/KeychainAccess at 4.2.2 (13.86s)
Computing version for https://github.com/bdrelling/KippleTools
Computed https://github.com/bdrelling/KippleTools at 0.5.4 (0.55s)
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/nicklockwood/SwiftFormat
[1/17523] Fetching swift-argument-parser
[3681/73631] Fetching swift-argument-parser, swiftformat
Fetched https://github.com/apple/swift-argument-parser from cache (3.47s)
[9539/56108] Fetching swiftformat
Fetched https://github.com/nicklockwood/SwiftFormat from cache (41.05s)
Computing version for https://github.com/apple/swift-algorithms
Computed https://github.com/apple/swift-algorithms at 1.2.1 (44.85s)
Fetching https://github.com/apple/swift-numerics.git
[1/6416] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics.git from cache (1.54s)
Computing version for https://github.com/apple/swift-numerics.git
Computed https://github.com/apple/swift-numerics.git at 1.1.1 (4.26s)
Computing version for https://github.com/devicekit/DeviceKit
Computed https://github.com/devicekit/DeviceKit at 5.8.0 (1.84s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.7.1 (0.45s)
Computing version for https://github.com/apple/swift-collections
Computed https://github.com/apple/swift-collections at 1.4.1 (0.65s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.12.0 (0.40s)
Computing version for https://github.com/nicklockwood/SwiftFormat
Computed https://github.com/nicklockwood/SwiftFormat at 0.61.0 (0.42s)
Creating working copy for https://github.com/apple/swift-collections
Working copy of https://github.com/apple/swift-collections resolved at 1.4.1
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.7.1
Creating working copy for https://github.com/kishikawakatsumi/KeychainAccess
Working copy of https://github.com/kishikawakatsumi/KeychainAccess resolved at 4.2.2
Creating working copy for https://github.com/devicekit/DeviceKit
Working copy of https://github.com/devicekit/DeviceKit resolved at 5.8.0
Creating working copy for https://github.com/apple/swift-numerics.git
Working copy of https://github.com/apple/swift-numerics.git resolved at 1.1.1
Creating working copy for https://github.com/apple/swift-algorithms
Working copy of https://github.com/apple/swift-algorithms resolved at 1.2.1
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.12.0
Creating working copy for https://github.com/bdrelling/KippleTools
Working copy of https://github.com/bdrelling/KippleTools resolved at 0.5.4
Creating working copy for https://github.com/nicklockwood/SwiftFormat
Working copy of https://github.com/nicklockwood/SwiftFormat resolved at 0.61.0
[1/1] Compiling plugin SwiftFormatPlugin
[2/2] Compiling plugin GenerateManual
[3/3] Compiling plugin GenerateDoccReference
Building for debugging...
[3/19] Write sources
[17/19] Compiling _NumericsShims _NumericsShims.c
[18/19] Write swift-version-24593BA9C3E375BF.txt
[20/87] Emitting module InternalCollectionsUtilities
[21/89] Compiling RealModule RealFunctions.swift
[22/90] Compiling InternalCollectionsUtilities _SortedCollection.swift
[23/90] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[24/90] Compiling RealModule RelaxedArithmetic.swift
[25/90] Compiling KippleCodable CodableDefaultStrategy.swift
[26/91] Compiling KippleFoundation BundleInfo.swift
[27/91] Compiling KippleFoundation SemanticVersion.swift
[30/92] Compiling InternalCollectionsUtilities LifetimeOverride.swift
[31/92] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[32/92] Compiling InternalCollectionsUtilities Span+Extras.swift
[33/92] Compiling KippleCombine Publisher+Result.swift
[34/92] Emitting module KippleCombine
[35/93] Emitting module RealModule
[36/93] Compiling InternalCollectionsUtilities Debugging.swift
[37/93] Compiling InternalCollectionsUtilities Descriptions.swift
[40/93] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[42/93] Compiling RealModule Real.swift
[43/93] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[44/93] Compiling KippleFoundation NSNumber+Boolean.swift
[45/93] Compiling InternalCollectionsUtilities String+Padding.swift
[46/93] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[47/93] Compiling KippleFoundation Result+Convenience.swift
[48/93] Compiling KippleFoundation Swift+Modulo.swift
[49/93] Compiling KippleFoundation AppInfo.swift
[50/93] Compiling KippleFoundation String+Convenience.swift
[51/93] Compiling KippleFoundation String+LocalizedError.swift
[52/93] Compiling Logging LogHandler.swift
[53/94] Compiling KippleCodable CodableIgnored.swift
[59/94] Compiling RealModule Float80+Real.swift
[60/94] Compiling RealModule Float16+Real.swift
[62/175] Compiling Algorithms AdjacentPairs.swift
[63/175] Compiling Algorithms Chain.swift
[64/175] Compiling Algorithms Chunked.swift
[65/175] Compiling Algorithms Combinations.swift
[66/175] Compiling Algorithms Compacted.swift
[67/175] Compiling Algorithms Cycle.swift
[68/175] Compiling Algorithms EitherSequence.swift
[69/175] Compiling Algorithms FirstNonNil.swift
[70/182] Compiling OrderedCollections OrderedSet+Partial SetAlgebra intersection.swift
[71/182] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isDisjoint.swift
[72/182] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isEqualSet.swift
[73/182] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSubset.swift
[74/182] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSuperset.swift
[75/182] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSubset.swift
[76/182] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSuperset.swift
[77/182] Compiling OrderedCollections OrderedDictionary.swift
[78/182] Compiling OrderedCollections OrderedSet+Codable.swift
[79/182] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[80/182] Compiling OrderedCollections OrderedSet+Descriptions.swift
[81/182] Compiling OrderedCollections OrderedSet+Diffing.swift
[82/182] Compiling OrderedCollections OrderedSet+Equatable.swift
[83/182] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[84/182] Compiling OrderedCollections OrderedSet+Hashable.swift
[85/182] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtract.swift
[86/182] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtracting.swift
[87/182] Compiling OrderedCollections OrderedSet+Partial SetAlgebra symmetricDifference.swift
[88/182] Compiling OrderedCollections OrderedSet+Partial SetAlgebra union.swift
[89/182] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Basics.swift
[90/182] Compiling OrderedCollections OrderedSet+RandomAccessCollection.swift
[91/182] Compiling OrderedCollections OrderedSet+ReserveCapacity.swift
[92/182] Compiling Algorithms FlattenCollection.swift
[93/182] Compiling Algorithms Grouped.swift
[94/182] Compiling Algorithms Indexed.swift
[95/182] Compiling Algorithms Intersperse.swift
[96/182] Compiling Algorithms Joined.swift
[97/182] Compiling Algorithms Keyed.swift
[98/182] Compiling Algorithms MinMax.swift
[99/182] Compiling Algorithms Partition.swift
[104/185] Compiling Algorithms Split.swift
[105/185] Compiling Algorithms Stride.swift
[106/185] Compiling Algorithms Suffix.swift
[107/185] Compiling Algorithms Trim.swift
[108/185] Compiling Algorithms Unique.swift
[109/185] Compiling Algorithms Windows.swift
[110/185] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[111/185] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.swift
[112/185] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formIntersection.swift
[113/185] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formSymmetricDifference.swift
[114/185] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formUnion.swift
[115/185] Compiling Algorithms Permutations.swift
[116/185] Compiling Algorithms Product.swift
[120/185] Compiling Algorithms RandomSample.swift
[121/185] Compiling Algorithms Reductions.swift
[122/185] Compiling Algorithms Rotate.swift
[126/185] Compiling Logging MetadataProvider.swift
[127/185] Compiling KippleLocalStorage UserDefaults+Key.swift
/host/spi-builder-workspace/Sources/KippleLocalStorage/UserDefaults/UserDefaults+Key.swift:28:16: warning: static property 'codableStore' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
26 |
27 | public extension UserDefaults {
28 |     static let codableStore = UserDefaults(suiteName: "com.kipple.codablestore")!
   |                |- warning: static property 'codableStore' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
   |                |- note: add '@MainActor' to make static property 'codableStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | }
30 |
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[128/185] Emitting module KippleFoundation
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/String+LocalizedError.swift:7:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 5 | /// Extension that allows a normal `String` to be returned as an error,
 6 | /// using itself as the localized error description.
 7 | extension String: LocalizedError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 8 |     public var errorDescription: String? {
 9 |         self
[131/185] Compiling KippleLocalStorage UserDefaults+RemoveAllObjects.swift
[132/185] Compiling KippleCodable PropertyListDecoder+DecodeCleaned.swift
[133/185] Compiling KippleCodable CodableDefault.swift
[134/185] Emitting module Logging
[135/185] Compiling KippleFoundation URLConvertible.swift
[136/185] Compiling Logging Locks.swift
[141/185] Compiling KippleLocalStorage UserDefaults+Mocked.swift
/host/spi-builder-workspace/Sources/KippleLocalStorage/UserDefaults/UserDefaults+Mocked.swift:6:16: warning: static property 'mocked' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
 4 |
 5 | extension UserDefaults {
 6 |     static let mocked: UserDefaults = {
   |                |- warning: static property 'mocked' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
   |                |- note: add '@MainActor' to make static property 'mocked' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |         let name = "com.kipple.mocked"
 8 |         let store = UserDefaults(suiteName: name)!
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[142/185] Emitting module KippleCodable
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/String+LocalizedError.swift:7:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 5 | /// Extension that allows a normal `String` to be returned as an error,
 6 | /// using itself as the localized error description.
 7 | extension String: LocalizedError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 8 |     public var errorDescription: String? {
 9 |         self
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/String+LocalizedError.swift:7:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 5 | /// Extension that allows a normal `String` to be returned as an error,
 6 | /// using itself as the localized error description.
 7 | extension String: LocalizedError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 8 |     public var errorDescription: String? {
 9 |         self
[147/185] Emitting module KippleLocalStorage
/host/spi-builder-workspace/Sources/KippleLocalStorage/UserDefaults/UserDefaults+Key.swift:28:16: warning: static property 'codableStore' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
26 |
27 | public extension UserDefaults {
28 |     static let codableStore = UserDefaults(suiteName: "com.kipple.codablestore")!
   |                |- warning: static property 'codableStore' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
   |                |- note: add '@MainActor' to make static property 'codableStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | }
30 |
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
/host/spi-builder-workspace/Sources/KippleLocalStorage/UserDefaults/UserDefaults+Mocked.swift:6:16: warning: static property 'mocked' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
 4 |
 5 | extension UserDefaults {
 6 |     static let mocked: UserDefaults = {
   |                |- warning: static property 'mocked' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
   |                |- note: add '@MainActor' to make static property 'mocked' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |         let name = "com.kipple.mocked"
 8 |         let store = UserDefaults(suiteName: name)!
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[148/185] Compiling KippleLocalStorage UserDefaults+Codable.swift
[157/187] Compiling KippleCodable JSONDecoder+DecodeCleaned.swift
[165/195] Emitting module KippleKeychain
[166/195] Compiling KippleKeychain Keychain+Key.swift
[167/195] Compiling KippleKeychain Exports.swift
[168/195] Compiling KippleKeychain Keychain+Default.swift
[179/196] Emitting module KippleDevice
[180/196] Compiling KippleDevice DeviceFamily.swift
[181/196] Compiling KippleDevice DeviceInfo.swift
[183/197] Compiling Logging LogEvent.swift
[184/197] Compiling Logging Logging.swift
[186/202] Emitting module KippleLogging
/host/spi-builder-workspace/Sources/KippleLogging/Handlers/ConsoleLogHandler.swift:16:23: warning: static property 'globalLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
 14 |     /// The `logLevel` of an individual `ConsoleLogHandler` is ignored when this global
 15 |     /// log level is set to a higher level.
 16 |     public static var globalLogLevel: Logger.Level?
    |                       |- warning: static property 'globalLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
    |                       |- note: convert 'globalLogLevel' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'globalLogLevel' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 |     /// The log label for the log handler.
/host/spi-builder-workspace/Sources/KippleLogging/Handlers/ConsoleLogHandler.swift:54:1: warning: deprecated default implementation is used to satisfy instance method 'log(event:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation [#DeprecatedDeclaration]
 52 | // MARK: - Extensions
 53 |
 54 | extension ConsoleLogHandler: LogHandler {
    | `- warning: deprecated default implementation is used to satisfy instance method 'log(event:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation [#DeprecatedDeclaration]
 55 |     public subscript(metadataKey metadataKey: String) -> Logger.Metadata.Value? {
 56 |         get {
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/LogHandler.swift:256:17: note: 'log(event:)' declared here
143 |     ///
144 |     /// - Parameter event: The log event containing the level, message, metadata, and source location.
145 |     func log(event: LogEvent)
    |          `- note: requirement 'log(event:)' declared here
146 |
147 |     /// Please do _not_ implement this method when you create a `LogHandler` implementation.
    :
254 |     ///   Implement ``log(event:)`` in your ``LogHandler`` instead.
255 |     @available(*, deprecated, message: "You should implement this method instead of using the default implementation")
256 |     public func log(event: LogEvent) {
    |                 `- note: 'log(event:)' declared here
257 |         self.log(
258 |             level: event.level,
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[187/202] Compiling OrderedCollections OrderedSet+Sendable.swift
[188/202] Compiling OrderedCollections OrderedSet+SubSequence.swift
[189/202] Compiling OrderedCollections OrderedSet+Testing.swift
[190/202] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[191/202] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[192/202] Compiling OrderedCollections OrderedSet.swift
[193/202] Compiling OrderedCollections _UnsafeBitset.swift
[194/202] Compiling KippleLogging Exports.swift
[195/202] Compiling KippleLogging Logger+Convenience.swift
[196/202] Compiling KippleLogging ConsoleLogHandler.swift
/host/spi-builder-workspace/Sources/KippleLogging/Handlers/ConsoleLogHandler.swift:16:23: warning: static property 'globalLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
 14 |     /// The `logLevel` of an individual `ConsoleLogHandler` is ignored when this global
 15 |     /// log level is set to a higher level.
 16 |     public static var globalLogLevel: Logger.Level?
    |                       |- warning: static property 'globalLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
    |                       |- note: convert 'globalLogLevel' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'globalLogLevel' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 |     /// The log label for the log handler.
/host/spi-builder-workspace/Sources/KippleLogging/Handlers/ConsoleLogHandler.swift:54:1: warning: deprecated default implementation is used to satisfy instance method 'log(event:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation [#DeprecatedDeclaration]
 52 | // MARK: - Extensions
 53 |
 54 | extension ConsoleLogHandler: LogHandler {
    | `- warning: deprecated default implementation is used to satisfy instance method 'log(event:)' required by protocol 'LogHandler': You should implement this method instead of using the default implementation [#DeprecatedDeclaration]
 55 |     public subscript(metadataKey metadataKey: String) -> Logger.Metadata.Value? {
 56 |         get {
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/LogHandler.swift:256:17: note: 'log(event:)' declared here
143 |     ///
144 |     /// - Parameter event: The log event containing the level, message, metadata, and source location.
145 |     func log(event: LogEvent)
    |          `- note: requirement 'log(event:)' declared here
146 |
147 |     /// Please do _not_ implement this method when you create a `LogHandler` implementation.
    :
254 |     ///   Implement ``log(event:)`` in your ``LogHandler`` instead.
255 |     @available(*, deprecated, message: "You should implement this method instead of using the default implementation")
256 |     public func log(event: LogEvent) {
    |                 `- note: 'log(event:)' declared here
257 |         self.log(
258 |             level: event.level,
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[202/203] Emitting module OrderedCollections
[204/204] Emitting module Algorithms
[206/212] Compiling KippleCollections Exports.swift
[207/212] Compiling KippleCollections Array+RemoveDuplicates.swift
[208/212] Emitting module KippleCollections
[209/212] Compiling KippleCollections InterleavableDictionary.swift
[210/212] Compiling KippleCollections Collection+Convenience.swift
[211/212] Compiling KippleCollections RangeReplaceableCollection+Rotating.swift
[212/212] Compiling KippleCollections BidirectionalCollection+Looping.swift
[214/215] Emitting module Kipple
[215/215] Compiling Kipple Exports.swift
Build complete! (128.44s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-algorithms",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-algorithms"
    },
    {
      "identity" : "swift-collections",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-collections"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.4",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log"
    },
    {
      "identity" : "kippletools",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.3",
            "upper_bound" : "0.6.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/bdrelling/KippleTools"
    },
    {
      "identity" : "devicekit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.2.3",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/devicekit/DeviceKit"
    },
    {
      "identity" : "keychainaccess",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.2.2",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kishikawakatsumi/KeychainAccess"
    }
  ],
  "manifest_display_name" : "Kipple",
  "name" : "Kipple",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "Kipple",
      "targets" : [
        "Kipple"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCodable",
      "targets" : [
        "KippleCodable"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCollections",
      "targets" : [
        "KippleCollections"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCombine",
      "targets" : [
        "KippleCombine"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleFoundation",
      "targets" : [
        "KippleFoundation"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleDevice",
      "targets" : [
        "KippleDevice"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleKeychain",
      "targets" : [
        "KippleKeychain"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleLocalStorage",
      "targets" : [
        "KippleLocalStorage"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleLogging",
      "targets" : [
        "KippleLogging"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "KippleLoggingTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleLoggingTests",
      "path" : "Tests/KippleLoggingTests",
      "sources" : [
        "Protocols/LogHandlerValidating.swift",
        "Tests/ConsoleLogHandlerTests.swift"
      ],
      "target_dependencies" : [
        "KippleLogging"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleLogging",
      "module_type" : "SwiftTarget",
      "name" : "KippleLogging",
      "path" : "Sources/KippleLogging",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleLogging"
      ],
      "sources" : [
        "Exports.swift",
        "Extensions/Logger+Convenience.swift",
        "Handlers/ConsoleLogHandler.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleLocalStorageTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleLocalStorageTests",
      "path" : "Tests/KippleLocalStorageTests",
      "sources" : [
        "UserDefaultsExtensionsTests.swift"
      ],
      "target_dependencies" : [
        "KippleLocalStorage"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleLocalStorage",
      "module_type" : "SwiftTarget",
      "name" : "KippleLocalStorage",
      "path" : "Sources/KippleLocalStorage",
      "product_memberships" : [
        "Kipple",
        "KippleLocalStorage"
      ],
      "sources" : [
        "UserDefaults/UserDefaults+Codable.swift",
        "UserDefaults/UserDefaults+Key.swift",
        "UserDefaults/UserDefaults+Mocked.swift",
        "UserDefaults/UserDefaults+RemoveAllObjects.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleKeychain",
      "module_type" : "SwiftTarget",
      "name" : "KippleKeychain",
      "path" : "Sources/KippleKeychain",
      "product_dependencies" : [
        "KeychainAccess"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleKeychain"
      ],
      "sources" : [
        "Exports.swift",
        "Keychain+Default.swift",
        "Keychain+Key.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleFoundationTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleFoundationTests",
      "path" : "Tests/KippleFoundationTests",
      "sources" : [
        "AppInfoTests.swift",
        "BoolExtensionTests.swift",
        "BundleExtensionTests.swift",
        "BundleInfoTests.swift",
        "ComparableExtensionTests.swift",
        "Int64ClampedTests.swift",
        "IntExtensionTests.swift",
        "ModuloTests.swift",
        "NSNumberExtensionTests.swift",
        "ResultExtensionTests.swift",
        "SemanticVersionTests.swift",
        "StringExtensionTests.swift",
        "StringLocalizedErrorExtensionTests.swift",
        "UInt64ClampedTests.swift",
        "URLConvertibleTests.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleFoundation",
      "module_type" : "SwiftTarget",
      "name" : "KippleFoundation",
      "path" : "Sources/KippleFoundation",
      "product_memberships" : [
        "Kipple",
        "KippleFoundation",
        "KippleDevice",
        "KippleKeychain"
      ],
      "sources" : [
        "Extensions/BinaryInteger+Clamped.swift",
        "Extensions/Bool+Convenience.swift",
        "Extensions/Bundle+Convenience.swift",
        "Extensions/Bundle+Key.swift",
        "Extensions/Comparable+Clamped.swift",
        "Extensions/Int+Convenience.swift",
        "Extensions/NSNumber+Boolean.swift",
        "Extensions/Result+Convenience.swift",
        "Extensions/String+Convenience.swift",
        "Extensions/String+LocalizedError.swift",
        "Extensions/Swift+Modulo.swift",
        "Models/AppInfo.swift",
        "Models/BundleInfo.swift",
        "Models/SemanticVersion.swift",
        "Protocols/URLConvertible.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleDeviceTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleDeviceTests",
      "path" : "Tests/KippleDeviceTests",
      "sources" : [
        "DeviceInfoTests.swift"
      ],
      "target_dependencies" : [
        "KippleDevice"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleDevice",
      "module_type" : "SwiftTarget",
      "name" : "KippleDevice",
      "path" : "Sources/KippleDevice",
      "product_dependencies" : [
        "DeviceKit"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleDevice"
      ],
      "sources" : [
        "DeviceFamily.swift",
        "DeviceInfo.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCombineTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCombineTests",
      "path" : "Tests/KippleCombineTests",
      "sources" : [
        "PublisherResultTests.swift"
      ],
      "target_dependencies" : [
        "KippleCombine"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCombine",
      "module_type" : "SwiftTarget",
      "name" : "KippleCombine",
      "path" : "Sources/KippleCombine",
      "product_memberships" : [
        "Kipple",
        "KippleCombine"
      ],
      "sources" : [
        "Publisher+Result.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCollectionsTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCollectionsTests",
      "path" : "Tests/KippleCollectionsTests",
      "sources" : [
        "BidirectionalCollectionExtensionTests.swift",
        "InterleavableDictionaryTests.swift"
      ],
      "target_dependencies" : [
        "KippleCollections"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCollections",
      "module_type" : "SwiftTarget",
      "name" : "KippleCollections",
      "path" : "Sources/KippleCollections",
      "product_dependencies" : [
        "Algorithms",
        "OrderedCollections"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleCollections"
      ],
      "sources" : [
        "Exports.swift",
        "Extensions/Array+RemoveDuplicates.swift",
        "Extensions/BidirectionalCollection+Looping.swift",
        "Extensions/Collection+Convenience.swift",
        "Extensions/RangeReplaceableCollection+Rotating.swift",
        "Protocols/InterleavableDictionary.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCodableTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCodableTests",
      "path" : "Tests/KippleCodableTests",
      "sources" : [
        "CodableDefaultTests.swift",
        "CodableIgnoredTests.swift",
        "DecodingErrorCleanedTests.swift",
        "DictionaryExtensionTests.swift",
        "EncodableAsDictionaryTests.swift",
        "EncodablePrettyPrintedTests.swift"
      ],
      "target_dependencies" : [
        "KippleCodable"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCodable",
      "module_type" : "SwiftTarget",
      "name" : "KippleCodable",
      "path" : "Sources/KippleCodable",
      "product_memberships" : [
        "Kipple",
        "KippleCodable"
      ],
      "sources" : [
        "Errors/CleanedDecodingError.swift",
        "Errors/KippleCodableError.swift",
        "Extensions/DecodingError+Cleaned.swift",
        "Extensions/Dictionary+AsJSONSerializedData.swift",
        "Extensions/Encodable+AsDictionary.swift",
        "Extensions/Encodable+PrettyPrinted.swift",
        "Extensions/JSONDecoder+DecodeCleaned.swift",
        "Extensions/PropertyListDecoder+DecodeCleaned.swift",
        "PropertyWrappers/CodableDefault.swift",
        "PropertyWrappers/CodableDefaultStrategy.swift",
        "PropertyWrappers/CodableIgnored.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Kipple",
      "module_type" : "SwiftTarget",
      "name" : "Kipple",
      "path" : "Sources/Kipple",
      "product_memberships" : [
        "Kipple"
      ],
      "sources" : [
        "Exports.swift"
      ],
      "target_dependencies" : [
        "KippleCodable",
        "KippleCollections",
        "KippleCombine",
        "KippleFoundation",
        "KippleDevice",
        "KippleKeychain",
        "KippleLocalStorage",
        "KippleLogging"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
basic-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:5a7d791d2ead8a924b1292cb31bf3288eabcfe8880e0b005b00b45b71a5bc36a
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest
Done.