Build Information
Successful build of Haversack, reference 2.0.0 (1e7cbf), with Swift 6.1 for macOS (SPM) on 8 Jul 2026 23:14:44 UTC.
Swift 6 data race errors: 1
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .statsBuild Log
========================================
RunAll
========================================
Builder version: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jamf/Haversack.git
Reference: 2.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jamf/Haversack
* tag 2.0.0 -> FETCH_HEAD
HEAD is now at 1e7cbf8 Merge pull request #16 from mlink/main
Cloned https://github.com/jamf/Haversack.git
Revision (git rev-parse @):
1e7cbf8bc697bf521ae492b9829b23e7ad7a311d
SUCCESS checkout https://github.com/jamf/Haversack.git at 2.0.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/jamf/Haversack.git
https://github.com/jamf/Haversack.git
{
"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-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "Haversack",
"name" : "Haversack",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "12.0"
},
{
"name" : "visionos",
"version" : "1.0"
},
{
"name" : "watchos",
"version" : "5.0"
}
],
"products" : [
{
"name" : "Haversack",
"targets" : [
"Haversack"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "HaversackCryptoKit",
"targets" : [
"HaversackCryptoKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "HaversackMock",
"targets" : [
"HaversackMock"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5",
"6"
],
"targets" : [
{
"c99name" : "HaversackTests",
"module_type" : "SwiftTarget",
"name" : "HaversackTests",
"path" : "Tests/HaversackTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/HaversackTests/TestResources",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"CertificateIntegrationTests.swift",
"Data+X501NameTests.swift",
"EphemeralStrategyTests.swift",
"GenericPasswordConvertibleTests.swift",
"GenericPasswordIntegrationTests.swift",
"HaversackAsyncAwaitTests.swift",
"HaversackTests.swift",
"IdentityIntegrationTests.swift",
"InternetPasswordIntegrationTests.swift",
"KeyGenerationConfigTests.swift",
"KeyGenerationIntegrationTests.swift",
"KeychainExportConfigTests.swift",
"KeychainExportIntegrationTests.swift",
"KeychainFileIntegrationTests.swift",
"KeychainImportConfigTests.swift",
"KeychainImportIntegrationTests.swift",
"QueryCertificateTests.swift",
"QueryIdentityTests.swift",
"QueryKeyTests.swift",
"QueryPasswordTests.swift",
"SystemKeychainIntegrationTests.swift",
"XCTestCase+TestResources.swift"
],
"target_dependencies" : [
"HaversackMock"
],
"type" : "test"
},
{
"c99name" : "HaversackMock",
"module_type" : "SwiftTarget",
"name" : "HaversackMock",
"path" : "Sources/HaversackMock",
"product_memberships" : [
"HaversackMock"
],
"sources" : [
"HaversackEphemeralStrategy+mocking.swift",
"HaversackEphemeralStrategy.swift"
],
"target_dependencies" : [
"Haversack"
],
"type" : "library"
},
{
"c99name" : "HaversackCryptoKit",
"module_type" : "SwiftTarget",
"name" : "HaversackCryptoKit",
"path" : "Sources/HaversackCryptoKit",
"product_memberships" : [
"HaversackCryptoKit"
],
"sources" : [
"GenericPasswordConvertible+CryptoKit.swift",
"SecKeyConvertible.swift"
],
"target_dependencies" : [
"Haversack"
],
"type" : "library"
},
{
"c99name" : "Haversack",
"module_type" : "SwiftTarget",
"name" : "Haversack",
"path" : "Sources/Haversack",
"product_dependencies" : [
"OrderedCollections"
],
"product_memberships" : [
"Haversack",
"HaversackCryptoKit",
"HaversackMock"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Resources/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Entities/CertificateEntity.swift",
"Entities/Data+X501Name.swift",
"Entities/GenericPasswordEntity.swift",
"Entities/IdentityEntity.swift",
"Entities/InternetPasswordEntity.swift",
"Entities/KeyEntity.swift",
"Entities/KeychainStorable.swift",
"Entities/PasswordBaseEntity.swift",
"GenericPasswordConvertible.swift",
"Haversack+AsyncAwait.swift",
"Haversack.swift",
"HaversackConfiguration.swift",
"HaversackError.swift",
"HaversackStrategy.swift",
"ImportExport/KeychainExportConfig.swift",
"ImportExport/KeychainImportConfig.swift",
"ImportExport/KeychainPortable.swift",
"ImportExport/PassphraseStrategy.swift",
"ImportExport/PrivateKeyImporting.swift",
"KeyGenerationConfig.swift",
"Logs.swift",
"NSLocked.swift",
"Queries/CertificateBaseQuerying.swift",
"Queries/CertificateQuery.swift",
"Queries/GenericPasswordQuery.swift",
"Queries/IdentityQuery.swift",
"Queries/InternetPasswordQuery.swift",
"Queries/KeyBaseQuerying.swift",
"Queries/KeyQuery.swift",
"Queries/KeychainQueryOptions.swift",
"Queries/KeychainQuerying.swift",
"Queries/PasswordBaseQuerying.swift",
"Security/ItemSecurity.swift",
"Security/KeychainFile.swift",
"Security/KeychainItemRetrievability.swift",
"Security/RetrievabilityLevel.swift",
"SecuritySendable.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/9] Write sources
[4/9] Copying PrivacyInfo.xcprivacy
[4/9] Write sources
[8/9] Write swift-version-2F0A5646E1D333AE.txt
[10/28] Compiling InternalCollectionsUtilities Span+Extras.swift
[11/28] Compiling InternalCollectionsUtilities String+Padding.swift
[12/29] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[13/29] Compiling InternalCollectionsUtilities UnsafeMutableRawBufferPointer+Extras.swift
[14/29] Compiling InternalCollectionsUtilities UInt+first and last set bit.swift
[15/29] Compiling InternalCollectionsUtilities UInt+reversed.swift
[16/29] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[17/29] Compiling InternalCollectionsUtilities Integer rank.swift
[18/29] Compiling InternalCollectionsUtilities LifetimeOverride.swift
[19/29] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[20/29] Compiling InternalCollectionsUtilities Debugging.swift
[21/29] Compiling InternalCollectionsUtilities Descriptions.swift
[22/29] Emitting module InternalCollectionsUtilities
[23/29] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[24/29] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[25/29] Compiling InternalCollectionsUtilities UnsafeRawBufferPointer+Extras.swift
[26/29] Compiling InternalCollectionsUtilities _SortedCollection.swift
[27/29] Compiling InternalCollectionsUtilities _UnsafeBitSet.swift
[28/29] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[29/29] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[30/87] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formIntersection.swift
[31/87] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formSymmetricDifference.swift
[32/87] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formUnion.swift
[33/87] Compiling OrderedCollections OrderedSet+Partial SetAlgebra intersection.swift
[34/87] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isDisjoint.swift
[35/87] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isEqualSet.swift
[36/87] Compiling OrderedCollections _HashTable+Bucket.swift
[37/87] Compiling OrderedCollections _HashTable+BucketIterator.swift
[38/87] Compiling OrderedCollections _HashTable+Constants.swift
[39/87] Compiling OrderedCollections _HashTable+CustomStringConvertible.swift
[40/87] Compiling OrderedCollections _HashTable+Testing.swift
[41/87] Compiling OrderedCollections _HashTable+UnsafeHandle.swift
[42/87] Compiling OrderedCollections _HashTable.swift
[43/93] Compiling OrderedCollections OrderedDictionary+Equatable.swift
[44/93] Compiling OrderedCollections OrderedDictionary+ExpressibleByDictionaryLiteral.swift
[45/93] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[46/93] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[47/93] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[48/93] Compiling OrderedCollections OrderedDictionary+Move.swift
[49/93] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[50/93] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSubset.swift
[51/93] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSuperset.swift
[52/93] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSubset.swift
[53/93] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSuperset.swift
[54/93] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtract.swift
[55/93] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtracting.swift
[56/93] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[57/93] Compiling OrderedCollections OrderedSet+Descriptions.swift
[58/93] Compiling OrderedCollections OrderedSet+Diffing.swift
[59/93] Compiling OrderedCollections OrderedSet+Equatable.swift
[60/93] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[61/93] Compiling OrderedCollections OrderedSet+Hashable.swift
[62/93] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[63/93] Compiling OrderedCollections OrderedDictionary+Sendable.swift
[64/93] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[65/93] Compiling OrderedCollections OrderedDictionary+Values.swift
[66/93] Compiling OrderedCollections OrderedDictionary.swift
[67/93] Compiling OrderedCollections OrderedSet+Codable.swift
[68/93] Compiling OrderedCollections _Hashtable+Header.swift
[69/93] Compiling OrderedCollections OrderedDictionary+Codable.swift
[70/93] Compiling OrderedCollections OrderedDictionary+CustomReflectable.swift
[71/93] Compiling OrderedCollections OrderedDictionary+Deprecations.swift
[72/93] Compiling OrderedCollections OrderedDictionary+Descriptions.swift
[73/93] Compiling OrderedCollections OrderedDictionary+Elements.SubSequence.swift
[74/93] Compiling OrderedCollections OrderedDictionary+Elements.swift
[75/93] Compiling OrderedCollections OrderedSet+Partial SetAlgebra symmetricDifference.swift
[76/93] Compiling OrderedCollections OrderedSet+Partial SetAlgebra union.swift
[77/93] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Basics.swift
[78/93] Compiling OrderedCollections OrderedSet+RandomAccessCollection.swift
[79/93] Compiling OrderedCollections OrderedSet+ReserveCapacity.swift
[80/93] Compiling OrderedCollections OrderedSet+Sendable.swift
[81/93] Compiling OrderedCollections OrderedSet+Initializers.swift
[82/93] Compiling OrderedCollections OrderedSet+Insertions.swift
[83/93] Compiling OrderedCollections OrderedSet+Invariants.swift
[84/93] Compiling OrderedCollections OrderedSet+Move.swift
[85/93] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[86/93] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.swift
[87/93] Emitting module OrderedCollections
[88/93] Compiling OrderedCollections OrderedSet+SubSequence.swift
[89/93] Compiling OrderedCollections OrderedSet+Testing.swift
[90/93] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[91/93] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[92/93] Compiling OrderedCollections OrderedSet.swift
[93/93] Compiling OrderedCollections _UnsafeBitset.swift
[94/129] Emitting module Haversack
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
39 | var searchList: CFArray?
40 | let status = withUnsafeMutablePointer(to: &searchList) {
41 | SecKeychainCopyDomainSearchList(.system, UnsafeMutablePointer($0))
| `- warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
42 | }
43 |
[95/132] Compiling Haversack RetrievabilityLevel.swift
[96/132] Compiling Haversack SecuritySendable.swift
[97/132] Compiling Haversack resource_bundle_accessor.swift
[98/132] Compiling Haversack GenericPasswordQuery.swift
[99/132] Compiling Haversack IdentityQuery.swift
[100/132] Compiling Haversack InternetPasswordQuery.swift
[101/132] Compiling Haversack KeyBaseQuerying.swift
[102/132] Compiling Haversack KeyQuery.swift
[103/132] Compiling Haversack KeychainQueryOptions.swift
[104/132] Compiling Haversack KeychainQuerying.swift
[105/132] Compiling Haversack PasswordBaseQuerying.swift
[106/132] Compiling Haversack InternetPasswordEntity.swift
[107/132] Compiling Haversack KeyEntity.swift
[108/132] Compiling Haversack KeychainStorable.swift
[109/132] Compiling Haversack PasswordBaseEntity.swift
[110/132] Compiling Haversack Logs.swift
[111/132] Compiling Haversack NSLocked.swift
[112/132] Compiling Haversack CertificateBaseQuerying.swift
[113/132] Compiling Haversack CertificateQuery.swift
[114/132] Compiling Haversack KeychainPortable.swift
[115/132] Compiling Haversack PassphraseStrategy.swift
[116/132] Compiling Haversack PrivateKeyImporting.swift
[117/132] Compiling Haversack KeyGenerationConfig.swift
[118/132] Compiling Haversack CertificateEntity.swift
[119/132] Compiling Haversack Data+X501Name.swift
[120/132] Compiling Haversack GenericPasswordEntity.swift
[121/132] Compiling Haversack IdentityEntity.swift
[122/132] Compiling Haversack ItemSecurity.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
39 | var searchList: CFArray?
40 | let status = withUnsafeMutablePointer(to: &searchList) {
41 | SecKeychainCopyDomainSearchList(.system, UnsafeMutablePointer($0))
| `- warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
42 | }
43 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:102:13: warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated
100 | let pathName = UnsafeMutablePointer<CChar>.allocate(capacity: Int(pathLength))
101 | let status = withUnsafeMutablePointer(to: &pathLength) { pathLength in
102 | SecKeychainGetPath(reference, pathLength, pathName)
| `- warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated
103 | }
104 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:144:22: warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated
142 | func open() throws {
143 | os_log("Attempting to open keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
144 | let status = SecKeychainOpen(path, &reference)
| `- warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated
145 | if status != errSecSuccess {
146 | os_log("SecKeychainOpen returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:176:22: warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
174 |
175 | os_log("Attempting to create keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
176 | let status = SecKeychainCreate(path, UInt32(rawPassword.count), rawPassword, false, nil, &reference)
| `- warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
177 | if status != errSecSuccess {
178 | os_log("SecKeychainCreate returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:187:22: warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated
185 | public func delete() throws {
186 | os_log("Attempting to delete keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
187 | let status = SecKeychainDelete(reference)
| `- warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated
188 | if status != errSecSuccess {
189 | os_log("SecKeychainDelete returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:203:22: warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated
201 |
202 | var rawStatus: SecKeychainStatus = .zero
203 | let status = SecKeychainGetStatus(keychain, &rawStatus)
| `- warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated
204 | if status == errSecSuccess {
205 | let keychainStatus = KeychainStatusOptions(rawValue: rawStatus)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:223:22: warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated
221 |
222 | os_log("Attempting to lock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
223 | let status = SecKeychainLock(keychain)
| `- warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated
224 | if status != errSecSuccess {
225 | os_log("SecKeychainLock returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:245:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
243 | // We can't unlock the system keychain with our password; prompt the user if needed.
244 | os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
245 | status = SecKeychainUnlock(keychain, 0, nil, false)
| `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
246 | } else {
247 | guard let passwordFunc = passwordProvider else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:255:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
253 | let rawPassword = passwordFunc(path)
254 | os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
255 | status = SecKeychainUnlock(keychain, UInt32(rawPassword.count), rawPassword, true)
| `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
256 | }
257 | if status != errSecSuccess {
[123/132] Compiling Haversack KeychainFile.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
39 | var searchList: CFArray?
40 | let status = withUnsafeMutablePointer(to: &searchList) {
41 | SecKeychainCopyDomainSearchList(.system, UnsafeMutablePointer($0))
| `- warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
42 | }
43 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:102:13: warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated
100 | let pathName = UnsafeMutablePointer<CChar>.allocate(capacity: Int(pathLength))
101 | let status = withUnsafeMutablePointer(to: &pathLength) { pathLength in
102 | SecKeychainGetPath(reference, pathLength, pathName)
| `- warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated
103 | }
104 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:144:22: warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated
142 | func open() throws {
143 | os_log("Attempting to open keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
144 | let status = SecKeychainOpen(path, &reference)
| `- warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated
145 | if status != errSecSuccess {
146 | os_log("SecKeychainOpen returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:176:22: warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
174 |
175 | os_log("Attempting to create keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
176 | let status = SecKeychainCreate(path, UInt32(rawPassword.count), rawPassword, false, nil, &reference)
| `- warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
177 | if status != errSecSuccess {
178 | os_log("SecKeychainCreate returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:187:22: warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated
185 | public func delete() throws {
186 | os_log("Attempting to delete keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
187 | let status = SecKeychainDelete(reference)
| `- warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated
188 | if status != errSecSuccess {
189 | os_log("SecKeychainDelete returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:203:22: warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated
201 |
202 | var rawStatus: SecKeychainStatus = .zero
203 | let status = SecKeychainGetStatus(keychain, &rawStatus)
| `- warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated
204 | if status == errSecSuccess {
205 | let keychainStatus = KeychainStatusOptions(rawValue: rawStatus)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:223:22: warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated
221 |
222 | os_log("Attempting to lock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
223 | let status = SecKeychainLock(keychain)
| `- warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated
224 | if status != errSecSuccess {
225 | os_log("SecKeychainLock returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:245:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
243 | // We can't unlock the system keychain with our password; prompt the user if needed.
244 | os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
245 | status = SecKeychainUnlock(keychain, 0, nil, false)
| `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
246 | } else {
247 | guard let passwordFunc = passwordProvider else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:255:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
253 | let rawPassword = passwordFunc(path)
254 | os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
255 | status = SecKeychainUnlock(keychain, UInt32(rawPassword.count), rawPassword, true)
| `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
256 | }
257 | if status != errSecSuccess {
[124/132] Compiling Haversack KeychainItemRetrievability.swift
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
39 | var searchList: CFArray?
40 | let status = withUnsafeMutablePointer(to: &searchList) {
41 | SecKeychainCopyDomainSearchList(.system, UnsafeMutablePointer($0))
| `- warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated
42 | }
43 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:102:13: warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated
100 | let pathName = UnsafeMutablePointer<CChar>.allocate(capacity: Int(pathLength))
101 | let status = withUnsafeMutablePointer(to: &pathLength) { pathLength in
102 | SecKeychainGetPath(reference, pathLength, pathName)
| `- warning: 'SecKeychainGetPath' was deprecated in macOS 10.10: SecKeychain is deprecated
103 | }
104 |
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:144:22: warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated
142 | func open() throws {
143 | os_log("Attempting to open keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
144 | let status = SecKeychainOpen(path, &reference)
| `- warning: 'SecKeychainOpen' was deprecated in macOS 10.10: SecKeychain is deprecated
145 | if status != errSecSuccess {
146 | os_log("SecKeychainOpen returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:176:22: warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
174 |
175 | os_log("Attempting to create keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
176 | let status = SecKeychainCreate(path, UInt32(rawPassword.count), rawPassword, false, nil, &reference)
| `- warning: 'SecKeychainCreate' was deprecated in macOS 10.10: SecKeychain is deprecated
177 | if status != errSecSuccess {
178 | os_log("SecKeychainCreate returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:187:22: warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated
185 | public func delete() throws {
186 | os_log("Attempting to delete keychain at %{public}@", log: Logs.keychainFile, type: .default, path)
187 | let status = SecKeychainDelete(reference)
| `- warning: 'SecKeychainDelete' was deprecated in macOS 10.10: SecKeychain is deprecated
188 | if status != errSecSuccess {
189 | os_log("SecKeychainDelete returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:203:22: warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated
201 |
202 | var rawStatus: SecKeychainStatus = .zero
203 | let status = SecKeychainGetStatus(keychain, &rawStatus)
| `- warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated
204 | if status == errSecSuccess {
205 | let keychainStatus = KeychainStatusOptions(rawValue: rawStatus)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:223:22: warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated
221 |
222 | os_log("Attempting to lock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
223 | let status = SecKeychainLock(keychain)
| `- warning: 'SecKeychainLock' was deprecated in macOS 10.10: SecKeychain is deprecated
224 | if status != errSecSuccess {
225 | os_log("SecKeychainLock returned error %{public}d", log: Logs.keychainFile, type: .error, status)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:245:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
243 | // We can't unlock the system keychain with our password; prompt the user if needed.
244 | os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
245 | status = SecKeychainUnlock(keychain, 0, nil, false)
| `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
246 | } else {
247 | guard let passwordFunc = passwordProvider else {
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:255:22: warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
253 | let rawPassword = passwordFunc(path)
254 | os_log("Attempting to unlock keychain at %{public}@", log: Logs.keychainFile, type: .info, path)
255 | status = SecKeychainUnlock(keychain, UInt32(rawPassword.count), rawPassword, true)
| `- warning: 'SecKeychainUnlock' was deprecated in macOS 10.10: SecKeychain is deprecated
256 | }
257 | if status != errSecSuccess {
[125/132] Compiling Haversack HaversackError.swift
[126/132] Compiling Haversack HaversackStrategy.swift
[127/132] Compiling Haversack KeychainExportConfig.swift
[128/132] Compiling Haversack KeychainImportConfig.swift
[129/132] Compiling Haversack GenericPasswordConvertible.swift
[130/132] Compiling Haversack Haversack+AsyncAwait.swift
[131/132] Compiling Haversack Haversack.swift
[132/132] Compiling Haversack HaversackConfiguration.swift
[133/138] Emitting module HaversackCryptoKit
[134/138] Compiling HaversackCryptoKit SecKeyConvertible.swift
[135/138] Compiling HaversackCryptoKit GenericPasswordConvertible+CryptoKit.swift
[136/138] Compiling HaversackMock HaversackEphemeralStrategy.swift
[137/138] Compiling HaversackMock HaversackEphemeralStrategy+mocking.swift
[138/138] Emitting module HaversackMock
Build complete! (30.34s)
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-collections from cache
[1/2325] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin from cache (1.09s)
Fetched https://github.com/apple/swift-collections from cache (1.79s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.5.0 (4.89s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.94s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.62s)
Computing version for https://github.com/apple/swift-collections
Computed https://github.com/apple/swift-collections at 1.6.0 (0.63s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-collections
Working copy of https://github.com/apple/swift-collections resolved at 1.6.0
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-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "Haversack",
"name" : "Haversack",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "12.0"
},
{
"name" : "visionos",
"version" : "1.0"
},
{
"name" : "watchos",
"version" : "5.0"
}
],
"products" : [
{
"name" : "Haversack",
"targets" : [
"Haversack"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "HaversackCryptoKit",
"targets" : [
"HaversackCryptoKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "HaversackMock",
"targets" : [
"HaversackMock"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5",
"6"
],
"targets" : [
{
"c99name" : "HaversackTests",
"module_type" : "SwiftTarget",
"name" : "HaversackTests",
"path" : "Tests/HaversackTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/HaversackTests/TestResources",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"CertificateIntegrationTests.swift",
"Data+X501NameTests.swift",
"EphemeralStrategyTests.swift",
"GenericPasswordConvertibleTests.swift",
"GenericPasswordIntegrationTests.swift",
"HaversackAsyncAwaitTests.swift",
"HaversackTests.swift",
"IdentityIntegrationTests.swift",
"InternetPasswordIntegrationTests.swift",
"KeyGenerationConfigTests.swift",
"KeyGenerationIntegrationTests.swift",
"KeychainExportConfigTests.swift",
"KeychainExportIntegrationTests.swift",
"KeychainFileIntegrationTests.swift",
"KeychainImportConfigTests.swift",
"KeychainImportIntegrationTests.swift",
"QueryCertificateTests.swift",
"QueryIdentityTests.swift",
"QueryKeyTests.swift",
"QueryPasswordTests.swift",
"SystemKeychainIntegrationTests.swift",
"XCTestCase+TestResources.swift"
],
"target_dependencies" : [
"HaversackMock"
],
"type" : "test"
},
{
"c99name" : "HaversackMock",
"module_type" : "SwiftTarget",
"name" : "HaversackMock",
"path" : "Sources/HaversackMock",
"product_memberships" : [
"HaversackMock"
],
"sources" : [
"HaversackEphemeralStrategy+mocking.swift",
"HaversackEphemeralStrategy.swift"
],
"target_dependencies" : [
"Haversack"
],
"type" : "library"
},
{
"c99name" : "HaversackCryptoKit",
"module_type" : "SwiftTarget",
"name" : "HaversackCryptoKit",
"path" : "Sources/HaversackCryptoKit",
"product_memberships" : [
"HaversackCryptoKit"
],
"sources" : [
"GenericPasswordConvertible+CryptoKit.swift",
"SecKeyConvertible.swift"
],
"target_dependencies" : [
"Haversack"
],
"type" : "library"
},
{
"c99name" : "Haversack",
"module_type" : "SwiftTarget",
"name" : "Haversack",
"path" : "Sources/Haversack",
"product_dependencies" : [
"OrderedCollections"
],
"product_memberships" : [
"Haversack",
"HaversackCryptoKit",
"HaversackMock"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Resources/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Entities/CertificateEntity.swift",
"Entities/Data+X501Name.swift",
"Entities/GenericPasswordEntity.swift",
"Entities/IdentityEntity.swift",
"Entities/InternetPasswordEntity.swift",
"Entities/KeyEntity.swift",
"Entities/KeychainStorable.swift",
"Entities/PasswordBaseEntity.swift",
"GenericPasswordConvertible.swift",
"Haversack+AsyncAwait.swift",
"Haversack.swift",
"HaversackConfiguration.swift",
"HaversackError.swift",
"HaversackStrategy.swift",
"ImportExport/KeychainExportConfig.swift",
"ImportExport/KeychainImportConfig.swift",
"ImportExport/KeychainPortable.swift",
"ImportExport/PassphraseStrategy.swift",
"ImportExport/PrivateKeyImporting.swift",
"KeyGenerationConfig.swift",
"Logs.swift",
"NSLocked.swift",
"Queries/CertificateBaseQuerying.swift",
"Queries/CertificateQuery.swift",
"Queries/GenericPasswordQuery.swift",
"Queries/IdentityQuery.swift",
"Queries/InternetPasswordQuery.swift",
"Queries/KeyBaseQuerying.swift",
"Queries/KeyQuery.swift",
"Queries/KeychainQueryOptions.swift",
"Queries/KeychainQuerying.swift",
"Queries/PasswordBaseQuerying.swift",
"Security/ItemSecurity.swift",
"Security/KeychainFile.swift",
"Security/KeychainItemRetrievability.swift",
"Security/RetrievabilityLevel.swift",
"SecuritySendable.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Done.