Build Information
Successful build of Kipple, reference 0.14.3 (7c6844
), with Swift 6.1 for Linux on 28 Apr 2025 19:47:00 UTC.
Swift 6 data race errors: 9
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bdrelling/Kipple.git
Reference: 0.14.3
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
* tag 0.14.3 -> FETCH_HEAD
HEAD is now at 7c68441 Improved BidrectionalCollection+Looping
Cloned https://github.com/bdrelling/Kipple.git
Revision (git rev-parse @):
7c68441e690e69c15f6c00ae0b4d3552f117048d
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/bdrelling/Kipple.git at 0.14.3
========================================
Build
========================================
Selected platform: linux
Swift version: 6.1
Building package at path: $PWD
https://github.com/bdrelling/Kipple.git
https://github.com/bdrelling/Kipple.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
{
"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" : [
"OrderedCollections"
],
"product_memberships" : [
"Kipple",
"KippleCollections"
],
"sources" : [
"Exports.swift",
"Extensions/Array+RemoveDuplicates.swift",
"Extensions/BidirectionalCollection+Looping.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.7"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/apple/swift-collections
Fetching https://github.com/devicekit/DeviceKit
Fetching https://github.com/bdrelling/KippleTools
Fetching https://github.com/apple/swift-log
Fetching https://github.com/kishikawakatsumi/KeychainAccess
[1/720] Fetching kippletools
[721/4556] Fetching kippletools, swift-log
[875/8942] Fetching kippletools, swift-log, keychainaccess
[1133/12991] Fetching kippletools, swift-log, keychainaccess, devicekit
[11633/29233] Fetching kippletools, swift-log, keychainaccess, devicekit, swift-collections
Fetched https://github.com/devicekit/DeviceKit from cache (0.45s)
[12191/25184] Fetching kippletools, swift-log, keychainaccess, swift-collections
Fetched https://github.com/apple/swift-log from cache (0.57s)
Fetched https://github.com/kishikawakatsumi/KeychainAccess from cache (0.58s)
[5106/16962] Fetching kippletools, swift-collections
Fetched https://github.com/bdrelling/KippleTools from cache (1.11s)
Fetched https://github.com/apple/swift-collections from cache (1.14s)
Computing version for https://github.com/kishikawakatsumi/KeychainAccess
Computed https://github.com/kishikawakatsumi/KeychainAccess at 4.2.2 (1.65s)
Computing version for https://github.com/bdrelling/KippleTools
Computed https://github.com/bdrelling/KippleTools at 0.5.4 (0.51s)
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/nicklockwood/SwiftFormat
[1/14950] Fetching swift-argument-parser
[1048/61680] Fetching swift-argument-parser, swiftformat
Fetched https://github.com/apple/swift-argument-parser from cache (28.58s)
Fetched https://github.com/nicklockwood/SwiftFormat from cache (29.18s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.0 (29.62s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (0.42s)
Computing version for https://github.com/apple/swift-collections
Computed https://github.com/apple/swift-collections at 1.1.4 (0.62s)
Computing version for https://github.com/devicekit/DeviceKit
Computed https://github.com/devicekit/DeviceKit at 5.6.0 (0.45s)
Computing version for https://github.com/nicklockwood/SwiftFormat
Computed https://github.com/nicklockwood/SwiftFormat at 0.55.5 (0.47s)
Creating working copy for https://github.com/apple/swift-collections
Working copy of https://github.com/apple/swift-collections resolved at 1.1.4
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/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.3
Creating working copy for https://github.com/devicekit/DeviceKit
Working copy of https://github.com/devicekit/DeviceKit resolved at 5.6.0
Creating working copy for https://github.com/nicklockwood/SwiftFormat
Working copy of https://github.com/nicklockwood/SwiftFormat resolved at 0.55.5
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/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.0
warning: 'devicekit': found 2 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/.build/checkouts/DeviceKit/Source/Device.swift.gyb
/host/spi-builder-workspace/.build/checkouts/DeviceKit/Source/Info.plist
[1/1] Compiling plugin SwiftFormatPlugin
[2/2] Compiling plugin GenerateManual
Building for debugging...
[2/15] Write sources
[14/15] Write swift-version-24593BA9C3E375BF.txt
[16/70] Emitting module KippleCombine
[17/70] Compiling KippleFoundation BundleInfo.swift
[18/70] Compiling KippleFoundation SemanticVersion.swift
[19/70] Compiling KippleCombine Publisher+Result.swift
[20/73] Compiling KippleFoundation String+Convenience.swift
[21/73] Compiling KippleFoundation String+LocalizedError.swift
[22/73] Compiling InternalCollectionsUtilities _SortedCollection.swift
[23/73] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[24/73] Compiling KippleFoundation Swift+Modulo.swift
[25/73] Compiling KippleFoundation AppInfo.swift
/host/spi-builder-workspace/Sources/KippleFoundation/Models/SemanticVersion.swift:64:16: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'SemanticVersion' may have shared mutable state; this is an error in the Swift 6 language mode
1 | // Copyright © 2024 Brian Drelling. All rights reserved.
2 |
3 | public struct SemanticVersion: Equatable, Hashable, Codable {
| `- note: consider making struct 'SemanticVersion' conform to the 'Sendable' protocol
4 | // MARK: Properties
5 |
:
62 |
63 | public extension SemanticVersion {
64 | static let zero: Self = .init(major: 0, minor: 0, patch: 0)
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'SemanticVersion' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
66 | static func from(_ versionString: String) -> Self {
/host/spi-builder-workspace/Sources/KippleFoundation/Models/SemanticVersion.swift:64:16: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'SemanticVersion' may have shared mutable state; this is an error in the Swift 6 language mode
1 | // Copyright © 2024 Brian Drelling. All rights reserved.
2 |
3 | public struct SemanticVersion: Equatable, Hashable, Codable {
| `- note: consider making struct 'SemanticVersion' conform to the 'Sendable' protocol
4 | // MARK: Properties
5 |
:
62 |
63 | public extension SemanticVersion {
64 | static let zero: Self = .init(major: 0, minor: 0, patch: 0)
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'SemanticVersion' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
66 | static func from(_ versionString: String) -> Self {
[28/73] Emitting module InternalCollectionsUtilities
[29/74] Compiling KippleFoundation BinaryInteger+Clamped.swift
[30/74] Compiling KippleFoundation Bool+Convenience.swift
[31/74] Compiling KippleFoundation Comparable+Clamped.swift
[32/74] Compiling KippleFoundation Bundle+Convenience.swift
[33/74] Compiling KippleFoundation Bundle+Key.swift
[34/74] Compiling KippleFoundation Int+Convenience.swift
[35/74] Compiling KippleFoundation NSNumber+Boolean.swift
[36/74] Compiling KippleFoundation Result+Convenience.swift
[38/74] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[39/74] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[41/130] Compiling Logging MetadataProvider.swift
[42/130] Emitting module Logging
[43/130] Compiling Logging Locks.swift
[44/130] Compiling Logging LogHandler.swift
[45/130] Compiling Logging Logging.swift
[47/131] Compiling OrderedCollections _HashTable+Testing.swift
[48/131] Compiling OrderedCollections _HashTable+UnsafeHandle.swift
[49/131] Compiling KippleCodable PropertyListDecoder+DecodeCleaned.swift
[50/131] Compiling KippleCodable CodableDefaultStrategy.swift
[51/131] Compiling KippleCodable CodableDefault.swift
[52/132] Emitting module KippleFoundation
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:28:16: warning: static property 'buildNumber' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// }
15 | /// ```
16 | struct Key: RawRepresentable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 | public let rawValue: String
18 |
:
26 |
27 | public extension Bundle.Key {
28 | static let buildNumber: Self = "CFBundleVersion"
| |- warning: static property 'buildNumber' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'buildNumber' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | static let displayName: Self = "CFBundleDisplayName"
30 | static let name: Self = "CFBundleName"
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:29:16: warning: static property 'displayName' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// }
15 | /// ```
16 | struct Key: RawRepresentable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 | public let rawValue: String
18 |
:
27 | public extension Bundle.Key {
28 | static let buildNumber: Self = "CFBundleVersion"
29 | static let displayName: Self = "CFBundleDisplayName"
| |- warning: static property 'displayName' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'displayName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 | static let name: Self = "CFBundleName"
31 | static let version: Self = "CFBundleShortVersionString"
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:30:16: warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// }
15 | /// ```
16 | struct Key: RawRepresentable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 | public let rawValue: String
18 |
:
28 | static let buildNumber: Self = "CFBundleVersion"
29 | static let displayName: Self = "CFBundleDisplayName"
30 | static let name: Self = "CFBundleName"
| |- warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'name' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | static let version: Self = "CFBundleShortVersionString"
32 | }
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:31:16: warning: static property 'version' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// }
15 | /// ```
16 | struct Key: RawRepresentable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 | public let rawValue: String
18 |
:
29 | static let displayName: Self = "CFBundleDisplayName"
30 | static let name: Self = "CFBundleName"
31 | static let version: Self = "CFBundleShortVersionString"
| |- warning: static property 'version' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'version' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 | }
33 |
/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/Models/SemanticVersion.swift:64:16: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'SemanticVersion' may have shared mutable state; this is an error in the Swift 6 language mode
1 | // Copyright © 2024 Brian Drelling. All rights reserved.
2 |
3 | public struct SemanticVersion: Equatable, Hashable, Codable {
| `- note: consider making struct 'SemanticVersion' conform to the 'Sendable' protocol
4 | // MARK: Properties
5 |
:
62 |
63 | public extension SemanticVersion {
64 | static let zero: Self = .init(major: 0, minor: 0, patch: 0)
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'SemanticVersion' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
66 | static func from(_ versionString: String) -> Self {
[53/132] Compiling OrderedCollections _HashTable+Bucket.swift
[54/132] Compiling OrderedCollections _HashTable+BucketIterator.swift
[55/132] Compiling OrderedCollections OrderedDictionary+Deprecations.swift
[56/132] Compiling OrderedCollections OrderedDictionary+Descriptions.swift
[57/132] Compiling OrderedCollections OrderedDictionary+Codable.swift
/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
[58/132] Compiling OrderedCollections OrderedDictionary+CustomReflectable.swift
/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
[59/132] Compiling KippleLocalStorage UserDefaults+RemoveAllObjects.swift
[62/132] Compiling KippleCodable JSONDecoder+DecodeCleaned.swift
[63/132] 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
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
| |- 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
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
| |- 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()
[64/132] Compiling OrderedCollections _HashTable.swift
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:28:16: warning: static property 'buildNumber' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// }
15 | /// ```
16 | struct Key: RawRepresentable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 | public let rawValue: String
18 |
:
26 |
27 | public extension Bundle.Key {
28 | static let buildNumber: Self = "CFBundleVersion"
| |- warning: static property 'buildNumber' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'buildNumber' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | static let displayName: Self = "CFBundleDisplayName"
30 | static let name: Self = "CFBundleName"
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:29:16: warning: static property 'displayName' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// }
15 | /// ```
16 | struct Key: RawRepresentable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 | public let rawValue: String
18 |
:
27 | public extension Bundle.Key {
28 | static let buildNumber: Self = "CFBundleVersion"
29 | static let displayName: Self = "CFBundleDisplayName"
| |- warning: static property 'displayName' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'displayName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 | static let name: Self = "CFBundleName"
31 | static let version: Self = "CFBundleShortVersionString"
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:30:16: warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// }
15 | /// ```
16 | struct Key: RawRepresentable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 | public let rawValue: String
18 |
:
28 | static let buildNumber: Self = "CFBundleVersion"
29 | static let displayName: Self = "CFBundleDisplayName"
30 | static let name: Self = "CFBundleName"
| |- warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'name' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | static let version: Self = "CFBundleShortVersionString"
32 | }
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:31:16: warning: static property 'version' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// }
15 | /// ```
16 | struct Key: RawRepresentable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 | public let rawValue: String
18 |
:
29 | static let displayName: Self = "CFBundleDisplayName"
30 | static let name: Self = "CFBundleName"
31 | static let version: Self = "CFBundleShortVersionString"
| |- warning: static property 'version' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'version' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 | }
33 |
[65/132] Compiling OrderedCollections _Hashtable+Header.swift
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:28:16: warning: static property 'buildNumber' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// }
15 | /// ```
16 | struct Key: RawRepresentable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 | public let rawValue: String
18 |
:
26 |
27 | public extension Bundle.Key {
28 | static let buildNumber: Self = "CFBundleVersion"
| |- warning: static property 'buildNumber' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'buildNumber' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | static let displayName: Self = "CFBundleDisplayName"
30 | static let name: Self = "CFBundleName"
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:29:16: warning: static property 'displayName' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// }
15 | /// ```
16 | struct Key: RawRepresentable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 | public let rawValue: String
18 |
:
27 | public extension Bundle.Key {
28 | static let buildNumber: Self = "CFBundleVersion"
29 | static let displayName: Self = "CFBundleDisplayName"
| |- warning: static property 'displayName' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'displayName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 | static let name: Self = "CFBundleName"
31 | static let version: Self = "CFBundleShortVersionString"
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:30:16: warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// }
15 | /// ```
16 | struct Key: RawRepresentable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 | public let rawValue: String
18 |
:
28 | static let buildNumber: Self = "CFBundleVersion"
29 | static let displayName: Self = "CFBundleDisplayName"
30 | static let name: Self = "CFBundleName"
| |- warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'name' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | static let version: Self = "CFBundleShortVersionString"
32 | }
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:31:16: warning: static property 'version' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 | /// }
15 | /// ```
16 | struct Key: RawRepresentable {
| `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 | public let rawValue: String
18 |
:
29 | static let displayName: Self = "CFBundleDisplayName"
30 | static let name: Self = "CFBundleName"
31 | static let version: Self = "CFBundleShortVersionString"
| |- warning: static property 'version' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'version' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 | }
33 |
[66/132] Compiling OrderedCollections _HashTable+Constants.swift
[67/132] Compiling OrderedCollections _HashTable+CustomStringConvertible.swift
[72/132] Emitting module KippleCodable
[73/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtract.swift
[74/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtracting.swift
[75/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra symmetricDifference.swift
[76/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra union.swift
[77/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Basics.swift
[78/132] Compiling OrderedCollections OrderedSet+RandomAccessCollection.swift
[79/132] Compiling OrderedCollections OrderedSet+ReserveCapacity.swift
[80/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra intersection.swift
[81/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isDisjoint.swift
[82/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isEqualSet.swift
[83/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSubset.swift
[84/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSuperset.swift
[85/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSubset.swift
[86/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSuperset.swift
[87/139] 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
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
| |- 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()
[88/139] 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
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
| |- 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()
[89/139] Compiling KippleLocalStorage UserDefaults+Codable.swift
[90/142] Compiling KippleFoundation URLConvertible.swift
[92/145] Compiling OrderedCollections OrderedDictionary.swift
[93/145] Compiling OrderedCollections OrderedSet+Codable.swift
[94/145] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[95/145] Compiling OrderedCollections OrderedSet+Descriptions.swift
[96/145] Compiling OrderedCollections OrderedSet+Diffing.swift
[97/145] Compiling OrderedCollections OrderedSet+Equatable.swift
[98/145] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[99/145] Compiling OrderedCollections OrderedSet+Hashable.swift
[100/145] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[101/145] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[102/145] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[103/145] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[104/145] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[105/145] Compiling OrderedCollections OrderedDictionary+Sendable.swift
[106/145] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[107/145] Compiling OrderedCollections OrderedDictionary+Values.swift
[112/145] Compiling OrderedCollections OrderedDictionary+Elements.SubSequence.swift
[113/145] Compiling OrderedCollections OrderedDictionary+Elements.swift
[114/145] Compiling OrderedCollections OrderedDictionary+Equatable.swift
[115/145] Compiling OrderedCollections OrderedDictionary+ExpressibleByDictionaryLiteral.swift
[116/145] Compiling KippleCodable CodableIgnored.swift
[118/146] Compiling OrderedCollections OrderedSet+Initializers.swift
[119/146] Compiling OrderedCollections OrderedSet+Insertions.swift
[120/146] Compiling OrderedCollections OrderedSet+Invariants.swift
[121/146] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[122/146] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.swift
[123/146] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formIntersection.swift
[124/146] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formSymmetricDifference.swift
[125/146] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formUnion.swift
[126/146] 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
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
| |- 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.
[128/146] Compiling KippleLogging Exports.swift
[129/150] 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
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
| |- 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.
[130/150] Compiling KippleLogging Logger+Convenience.swift
[131/154] Compiling KippleKeychain Keychain+Key.swift
[132/154] Emitting module KippleKeychain
[133/154] Compiling KippleKeychain Exports.swift
[135/154] Compiling KippleKeychain Keychain+Default.swift
[136/155] Compiling KippleDevice DeviceFamily.swift
[146/155] Emitting module KippleDevice
/host/spi-builder-workspace/Sources/KippleDevice/DeviceInfo.swift:48:16: warning: static property 'current' is not concurrency-safe because non-'Sendable' type 'DeviceInfo' may have shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | /// A contextualized representation of a device such as an iPhone, Mac, Apple Watch, and so on.
14 | public struct DeviceInfo: Equatable, Hashable, Codable {
| `- note: consider making struct 'DeviceInfo' conform to the 'Sendable' protocol
15 | // MARK: Properties
16 |
:
46 | public extension DeviceInfo {
47 | /// Information for the currently running device.
48 | static let current: Self = .init(
| |- warning: static property 'current' is not concurrency-safe because non-'Sendable' type 'DeviceInfo' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 | deviceFamily: Self.currentDeviceFamily,
50 | deviceModel: Self.currentDeviceModel,
[147/155] Compiling KippleDevice DeviceInfo.swift
/host/spi-builder-workspace/Sources/KippleDevice/DeviceInfo.swift:48:16: warning: static property 'current' is not concurrency-safe because non-'Sendable' type 'DeviceInfo' may have shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | /// A contextualized representation of a device such as an iPhone, Mac, Apple Watch, and so on.
14 | public struct DeviceInfo: Equatable, Hashable, Codable {
| `- note: consider making struct 'DeviceInfo' conform to the 'Sendable' protocol
15 | // MARK: Properties
16 |
:
46 | public extension DeviceInfo {
47 | /// Information for the currently running device.
48 | static let current: Self = .init(
| |- warning: static property 'current' is not concurrency-safe because non-'Sendable' type 'DeviceInfo' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 | deviceFamily: Self.currentDeviceFamily,
50 | deviceModel: Self.currentDeviceModel,
[149/156] Compiling OrderedCollections OrderedSet+Sendable.swift
[150/156] Compiling OrderedCollections OrderedSet+SubSequence.swift
[151/156] Compiling OrderedCollections OrderedSet+Testing.swift
[152/156] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[153/156] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[154/156] Compiling OrderedCollections OrderedSet.swift
[155/156] Compiling OrderedCollections _UnsafeBitset.swift
[156/156] Emitting module OrderedCollections
[158/163] Compiling KippleCollections Array+RemoveDuplicates.swift
[159/163] Compiling KippleCollections Exports.swift
[160/163] Emitting module KippleCollections
[161/163] Compiling KippleCollections InterleavableDictionary.swift
[162/163] Compiling KippleCollections RangeReplaceableCollection+Rotating.swift
[163/163] Compiling KippleCollections BidirectionalCollection+Looping.swift
[165/166] Emitting module Kipple
[166/166] Compiling Kipple Exports.swift
Build complete! (59.51s)
Build complete.
{
"dependencies" : [
{
"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" : [
"OrderedCollections"
],
"product_memberships" : [
"Kipple",
"KippleCollections"
],
"sources" : [
"Exports.swift",
"Extensions/Array+RemoveDuplicates.swift",
"Extensions/BidirectionalCollection+Looping.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.7"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.