The Swift Package Index logo.Swift Package Index

Build Information

Successful build of EFStorage, reference 0.4.1 (05b45b), with Swift 6.4 for macOS (SPM) on 19 Sep 2026 02:38:02 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/EFPrefix/EFStorage.git
Reference: 0.4.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/EFPrefix/EFStorage
 * tag               0.4.1      -> FETCH_HEAD
HEAD is now at 05b45b2 0.4.1
Cloned https://github.com/EFPrefix/EFStorage.git
Revision (git rev-parse @):
05b45b2f7acef73ca8021fdb9e1ab13e7af7f690
SUCCESS checkout https://github.com/EFPrefix/EFStorage.git at 0.4.1
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/EFPrefix/EFStorage.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 330]
[Planning deferred tasks]
[51 / 105]
[57 / 107] YYCache
[67 / 186]
[77 / 196] YYCache
[84 / 197]
[93 / 197]
[95 / 197]
[100 / 197]
[106 / 197]
[113 / 197]
[115 / 197]
[121 / 197]
[124 / 197]
[128 / 197]
[129 / 197]
[135 / 197] YYCache
[135 / 197]
[138 / 197]
[141 / 197] YYCache
[141 / 197]
[150 / 197]
[155 / 197] EFStorageCore
[159 / 198]
[167 / 204]
[171 / 204]
[178 / 205]
[179 / 212]
[182 / 218] EFStorageKeychainAccess
[183 / 218] EFStorageUserDefaults
[196 / 218] EFStorageUserDefaults
[204 / 218] EFStorageKeychainAccess
[211 / 218] KeychainAccess
[214 / 218] EFStorageKeychainAccess
Build complete! (8.17 sec)
Fetching https://github.com/EFPrefix/YYCache.git
Fetching https://github.com/kishikawakatsumi/KeychainAccess.git
[1/472] Fetching yycache
[86/4860] Fetching yycache, keychainaccess
Fetched https://github.com/EFPrefix/YYCache.git (1.61s)
Fetched https://github.com/kishikawakatsumi/KeychainAccess.git (1.61s)
Computing version for https://github.com/EFPrefix/YYCache.git
Computed https://github.com/EFPrefix/YYCache.git at 1.0.5 (2.31s)
Computing version for https://github.com/kishikawakatsumi/KeychainAccess.git
Computed https://github.com/kishikawakatsumi/KeychainAccess.git at 3.2.1 (0.63s)
Creating working copy for https://github.com/kishikawakatsumi/KeychainAccess.git
Working copy of https://github.com/kishikawakatsumi/KeychainAccess.git resolved at 3.2.1
Creating working copy for https://github.com/EFPrefix/YYCache.git
Working copy of https://github.com/EFPrefix/YYCache.git resolved at 1.0.5
/Users/admin/builder/spi-builder-workspace/Sources/EFStorageYYCache/EFStorage+YYCache.swift:15:1: warning: extension declares a conformance of imported type 'YYCache' to imported protocols 'EFFailableUnderlyingStorage', 'EFUnderlyingStorage'; this will not behave correctly if the owners of 'YYCache' introduce this conformance in the future
 13 | #endif
 14 |
 15 | extension YYCache: EFFailableUnderlyingStorage {
    | |- warning: extension declares a conformance of imported type 'YYCache' to imported protocols 'EFFailableUnderlyingStorage', 'EFUnderlyingStorage'; this will not behave correctly if the owners of 'YYCache' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 16 |     private static let name = Bundle.main.bundleIdentifier ?? "EFStorage"
 17 |     private static let shared: YYCache? = YYCache(name: name)
/Users/admin/builder/spi-builder-workspace/Sources/EFStorageUserDefaults/EFStorage+UserDefaults.swift:13:1: warning: extension declares a conformance of imported type 'UserDefaults' to imported protocol 'EFUnderlyingStorage'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 11 | #endif
 12 |
 13 | extension UserDefaults: EFUnderlyingStorage {
    | |- warning: extension declares a conformance of imported type 'UserDefaults' to imported protocol 'EFUnderlyingStorage'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 14 |     public static var shared: UserDefaults = UserDefaults.standard
 15 |     public dynamic class func makeDefault() -> Self {
/Users/admin/builder/spi-builder-workspace/Sources/EFStorageKeychainAccess/EFStorage+KeychainAccess.swift:14:1: warning: extension declares a conformance of imported type 'Keychain' to imported protocols 'EFUnderlyingStorage', 'Equatable'; this will not behave correctly if the owners of 'KeychainAccess' introduce this conformance in the future
 12 | #endif
 13 |
 14 | extension Keychain: EFUnderlyingStorage {
    | |- warning: extension declares a conformance of imported type 'Keychain' to imported protocols 'EFUnderlyingStorage', 'Equatable'; this will not behave correctly if the owners of 'KeychainAccess' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 15 |     public dynamic class func makeDefault() -> Self {
 16 |         return Self()
/Users/admin/builder/spi-builder-workspace/Sources/EFStorageYYCache/EFStorage+YYCache.swift:15:1: warning: extension declares a conformance of imported type 'YYCache' to imported protocols 'EFFailableUnderlyingStorage', 'EFUnderlyingStorage'; this will not behave correctly if the owners of 'YYCache' introduce this conformance in the future
 13 | #endif
 14 |
 15 | extension YYCache: EFFailableUnderlyingStorage {
    | |- warning: extension declares a conformance of imported type 'YYCache' to imported protocols 'EFFailableUnderlyingStorage', 'EFUnderlyingStorage'; this will not behave correctly if the owners of 'YYCache' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 16 |     private static let name = Bundle.main.bundleIdentifier ?? "EFStorage"
 17 |     private static let shared: YYCache? = YYCache(name: name)
/Users/admin/builder/spi-builder-workspace/Sources/EFStorageUserDefaults/UserDefaults+NSCoding.swift:12:32: warning: 'archivedData(withRootObject:)' was deprecated in macOS 10.14: Use +archivedDataWithRootObject:requiringSecureCoding:error: instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
10 | public extension UserDefaultsStorable where Self: NSCoding {
11 |     func asUserDefaultsStorable() -> Result<AsIsUserDefaultsStorable, Error> {
12 |         return NSKeyedArchiver.archivedData(withRootObject: self).asUserDefaultsStorable()
   |                                `- warning: 'archivedData(withRootObject:)' was deprecated in macOS 10.14: Use +archivedDataWithRootObject:requiringSecureCoding:error: instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
13 |     }
14 |     static func fromUserDefaults(_ userDefaults: UserDefaults, forKey key: String) -> Self? {
/Users/admin/builder/spi-builder-workspace/Sources/EFStorageUserDefaults/UserDefaults+NSCoding.swift:16:34: warning: 'unarchiveObject(with:)' was deprecated in macOS 10.14: Use +unarchivedObjectOfClass:fromData:error: instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
14 |     static func fromUserDefaults(_ userDefaults: UserDefaults, forKey key: String) -> Self? {
15 |         guard let data = userDefaults.data(forKey: key) else { return nil }
16 |         return NSKeyedUnarchiver.unarchiveObject(with: data) as? Self
   |                                  `- warning: 'unarchiveObject(with:)' was deprecated in macOS 10.14: Use +unarchivedObjectOfClass:fromData:error: instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
17 |     }
18 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/EFStorageKeychainAccess/KeychainAccess+NSCoding.swift:13:47: warning: 'archivedData(withRootObject:)' was deprecated in macOS 10.14: Use +archivedDataWithRootObject:requiringSecureCoding:error: instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
11 | public extension KeychainAccessStorable where Self: NSCoding {
12 |     func asKeychainAccessStorable() -> Result<AsIsKeychainAccessStorable, Error> {
13 |         return .success(.data(NSKeyedArchiver.archivedData(withRootObject: self)))
   |                                               `- warning: 'archivedData(withRootObject:)' was deprecated in macOS 10.14: Use +archivedDataWithRootObject:requiringSecureCoding:error: instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
14 |     }
15 |     static func fromKeychain(_ keychain: Keychain, forKey key: String) -> Self? {
/Users/admin/builder/spi-builder-workspace/Sources/EFStorageKeychainAccess/KeychainAccess+NSCoding.swift:17:34: warning: 'unarchiveObject(with:)' was deprecated in macOS 10.14: Use +unarchivedObjectOfClass:fromData:error: instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
15 |     static func fromKeychain(_ keychain: Keychain, forKey key: String) -> Self? {
16 |         guard let data = try? keychain.getData(key) else { return nil }
17 |         return NSKeyedUnarchiver.unarchiveObject(with: data) as? Self
   |                                  `- warning: 'unarchiveObject(with:)' was deprecated in macOS 10.14: Use +unarchivedObjectOfClass:fromData:error: instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
18 |     }
19 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/EFStorageUserDefaults/EFStorage+UserDefaults.swift:13:1: warning: extension declares a conformance of imported type 'UserDefaults' to imported protocol 'EFUnderlyingStorage'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 11 | #endif
 12 |
 13 | extension UserDefaults: EFUnderlyingStorage {
    | |- warning: extension declares a conformance of imported type 'UserDefaults' to imported protocol 'EFUnderlyingStorage'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 14 |     public static var shared: UserDefaults = UserDefaults.standard
 15 |     public dynamic class func makeDefault() -> Self {
/Users/admin/builder/spi-builder-workspace/Sources/EFStorageKeychainAccess/EFStorage+KeychainAccess.swift:14:1: warning: extension declares a conformance of imported type 'Keychain' to imported protocols 'EFUnderlyingStorage', 'Equatable'; this will not behave correctly if the owners of 'KeychainAccess' introduce this conformance in the future
 12 | #endif
 13 |
 14 | extension Keychain: EFUnderlyingStorage {
    | |- warning: extension declares a conformance of imported type 'Keychain' to imported protocols 'EFUnderlyingStorage', 'Equatable'; this will not behave correctly if the owners of 'KeychainAccess' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 15 |     public dynamic class func makeDefault() -> Self {
 16 |         return Self()
Build complete.
{
  "dependencies" : [
    {
      "identity" : "keychainaccess",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.2.0",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kishikawakatsumi/KeychainAccess.git"
    },
    {
      "identity" : "yycache",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.5",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/EFPrefix/YYCache.git"
    }
  ],
  "manifest_display_name" : "EFStorage",
  "name" : "EFStorage",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "EFStorage",
      "targets" : [
        "EFStorageCore",
        "EFStorageKeychainAccess",
        "EFStorageUserDefaults",
        "EFStorageYYCache"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "EFStorageCore",
      "targets" : [
        "EFStorageCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "EFStorageKeychainAccess",
      "targets" : [
        "EFStorageKeychainAccess"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "EFStorageUserDefaults",
      "targets" : [
        "EFStorageUserDefaults"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "EFStorageYYCache",
      "targets" : [
        "EFStorageYYCache"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "EFStorageYYCache",
      "module_type" : "SwiftTarget",
      "name" : "EFStorageYYCache",
      "path" : "Sources/EFStorageYYCache",
      "product_dependencies" : [
        "YYCache"
      ],
      "product_memberships" : [
        "EFStorage",
        "EFStorageYYCache"
      ],
      "sources" : [
        "EFStorage+YYCache.swift",
        "YYCache+Codable.swift",
        "YYCache+NSCoding.swift"
      ],
      "target_dependencies" : [
        "EFStorageCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "EFStorageUserDefaults",
      "module_type" : "SwiftTarget",
      "name" : "EFStorageUserDefaults",
      "path" : "Sources/EFStorageUserDefaults",
      "product_memberships" : [
        "EFStorage",
        "EFStorageUserDefaults"
      ],
      "sources" : [
        "EFStorage+UserDefaults.swift",
        "UserDefaults+Codable.swift",
        "UserDefaults+NSCoding.swift",
        "UserDefaults+Primitives.swift",
        "UserDefaults+RawRepresentable.swift"
      ],
      "target_dependencies" : [
        "EFStorageCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "EFStorageTests",
      "module_type" : "SwiftTarget",
      "name" : "EFStorageTests",
      "path" : "Tests/EFStorageTests",
      "sources" : [
        "EFStorageTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "EFStorageCore",
        "EFStorageKeychainAccess",
        "EFStorageUserDefaults"
      ],
      "type" : "test"
    },
    {
      "c99name" : "EFStorageKeychainAccess",
      "module_type" : "SwiftTarget",
      "name" : "EFStorageKeychainAccess",
      "path" : "Sources/EFStorageKeychainAccess",
      "product_dependencies" : [
        "KeychainAccess"
      ],
      "product_memberships" : [
        "EFStorage",
        "EFStorageKeychainAccess"
      ],
      "sources" : [
        "EFStorage+KeychainAccess.swift",
        "KeychainAccess+Codable.swift",
        "KeychainAccess+NSCoding.swift",
        "KeychainAccess+Primitives.swift",
        "KeychainAccess+RawRepresentable.swift"
      ],
      "target_dependencies" : [
        "EFStorageCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "EFStorageCore",
      "module_type" : "SwiftTarget",
      "name" : "EFStorageCore",
      "path" : "Sources/EFStorageCore",
      "product_memberships" : [
        "EFStorage",
        "EFStorageCore",
        "EFStorageKeychainAccess",
        "EFStorageUserDefaults",
        "EFStorageYYCache"
      ],
      "sources" : [
        "EFContentWrapper.swift",
        "EFOptionalContentWrapper.swift",
        "EFSingleInstanceStorageReference.swift",
        "EFSingleInstanceStorageReferenceWrapper.swift",
        "EFStorage.swift",
        "EFStorageInternal.swift",
        "EFUnderlyingStorage.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.