The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Haversack, reference 2.0.1 (1f74e8), with Swift 6.4 for macOS (SPM) on 31 Oct 2026 21:30:45 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.4
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jamf/Haversack.git
Reference: 2.0.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jamf/Haversack
 * tag               2.0.1      -> FETCH_HEAD
HEAD is now at 1f74e81 Merge pull request #19 from mlink/main
Cloned https://github.com/jamf/Haversack.git
Revision (git rev-parse @):
1f74e81e3e169e739afcdacad709c4a2798efc99
SUCCESS checkout https://github.com/jamf/Haversack.git at 2.0.1
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-collections
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/2345] Fetching swift-docc-plugin
[213/6195] Fetching swift-docc-plugin, swift-docc-symbolkit
[829/35613] Fetching swift-docc-plugin, swift-docc-symbolkit, swift-collections
Fetched https://github.com/apple/swift-docc-plugin (1.46s)
[9146/33268] Fetching swift-docc-symbolkit, swift-collections
Fetched https://github.com/apple/swift-collections (3.99s)
Fetched https://github.com/swiftlang/swift-docc-symbolkit (3.99s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Creating working copy for https://github.com/apple/swift-docc-plugin
Creating working copy for https://github.com/apple/swift-collections
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.5.0
Working copy of https://github.com/apple/swift-collections resolved at 1.7.5
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "haversack",
      "name": "Haversack",
      "url": "https://github.com/jamf/Haversack.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Haversack",
      "traits": [
        "default"
      ],
      "dependencies": [
        {
          "identity": "swift-collections",
          "name": "swift-collections",
          "url": "https://github.com/apple/swift-collections",
          "version": "1.7.5",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-collections",
          "traits": [
          ],
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/jamf/Haversack.git
[1/383] Fetching haversack
Fetched https://github.com/jamf/Haversack.git (0.91s)
Fetching https://github.com/apple/swift-collections from cache
Fetched https://github.com/apple/swift-collections from cache (0.68s)
Computing version for https://github.com/apple/swift-collections
Computed https://github.com/apple/swift-collections at 1.7.5 (1.36s)
Creating working copy for https://github.com/apple/swift-collections
Working copy of https://github.com/apple/swift-collections resolved at 1.7.5
Creating working copy for https://github.com/jamf/Haversack.git
Working copy of https://github.com/jamf/Haversack.git resolved at 2.0.1 (1f74e81)
warning: '.resolve-product-dependencies': dependency 'haversack' is not used by any target
Found 1 product dependencies
  - swift-collections
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/jamf/Haversack.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 299]
[Planning deferred tasks]
[64 / 113] Haversack_HaversackTests
[70 / 113]
[71 / 114] InternalCollectionsUtilities
[84 / 127] InternalCollectionsUtilities
[91 / 128] InternalCollectionsUtilities
[101 / 139] OrderedCollections
[102 / 139] OrderedCollections
[104 / 139] OrderedCollections
[113 / 140] Haversack
[121 / 185]
[126 / 185]
[130 / 185]
[131 / 185]
[135 / 185]
[137 / 185]
[140 / 185]
[144 / 185]
[146 / 185]
[147 / 185]
[158 / 185] Haversack
[159 / 185] Haversack
[169 / 187] HaversackCryptoKit
[173 / 191] HaversackCryptoKit
[179 / 191] HaversackCryptoKit
[182 / 191] HaversackMock
[193 / 224]
[197 / 224]
[201 / 224]
[203 / 224]
[205 / 224]
[207 / 224]
[208 / 224]
[211 / 224]
[212 / 224]
[215 / 224] HaversackMock
[221 / 224] HaversackMock
Build complete! (14.19 sec)
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 42 |         }
 43 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/Haversack/Security/KeychainFile.swift:41:13: warning: 'SecKeychainCopyDomainSearchList' was deprecated in macOS 10.10: SecKeychain is deprecated [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
201 |
202 |         var rawStatus: SecKeychainStatus = .zero
203 |         let status = SecKeychainGetStatus(keychain, &rawStatus)
    |                      `- warning: 'SecKeychainGetStatus' was deprecated in macOS 10.10: SecKeychain is deprecated [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
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 [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
256 |         }
257 |         if status != errSecSuccess {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
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",
        "FailingSaveStrategy.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.