Build Information
Successful build of Stores, reference 1.0.0 (638291
), with Swift 6.0 for macOS (SPM) on 8 Nov 2024 16:12:23 UTC.
Swift 6 data race errors: 6
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.57.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/omaralbeik/Stores.git
Reference: 1.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/omaralbeik/Stores
* tag 1.0.0 -> FETCH_HEAD
HEAD is now at 6382917 Keep a ref to store in AnyStore classes (#22)
Cloned https://github.com/omaralbeik/Stores.git
Revision (git rev-parse @):
638291752db347e40ea4932be424585d47447d32
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/omaralbeik/Stores.git at 1.0.0
========================================
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",
"dependencies": [
{
"identity": "stores",
"name": "Stores",
"url": "https://github.com/omaralbeik/Stores.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Stores",
"dependencies": [
]
}
]
}
Fetching https://github.com/omaralbeik/Stores.git
[1/766] Fetching stores
Fetched https://github.com/omaralbeik/Stores.git from cache (1.04s)
Creating working copy for https://github.com/omaralbeik/Stores.git
Working copy of https://github.com/omaralbeik/Stores.git resolved at 1.0.0 (6382917)
warning: '.resolve-product-dependencies': dependency 'stores' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/omaralbeik/Stores.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/8] Write sources
[7/8] Write swift-version--7754E27361AE5C74.txt
[9/14] Compiling Blueprints SingleObjectStore.swift
[10/14] Compiling Blueprints AnyMultiObjectStore.swift
[11/14] Emitting module Blueprints
[12/14] Compiling Blueprints Logger.swift
[13/14] Compiling Blueprints MultiObjectStore.swift
[14/14] Compiling Blueprints AnySingleObjectStore.swift
[15/35] Emitting module FileSystemStore
[16/35] Emitting module TestUtils
[17/35] Compiling TestUtils StoresError.swift
[18/35] Compiling TestUtils SingleObjectStoreFake.swift
[19/35] Compiling TestUtils User.swift
[20/35] Compiling TestUtils MultiObjectStoreFake.swift
[21/35] Emitting module UserDefaultsStore
[22/35] Compiling UserDefaultsStore MultiUserDefaultsStore.swift
[23/35] Compiling UserDefaultsStore SingleUserDefaultsStore.swift
[24/35] Compiling KeychainStore SingleKeychainStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/Keychain/KeychainAccessibility.swift:21:21: warning: static property 'whenUnlockedThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An object representing keychain accessibility level.
6 | public struct KeychainAccessibility: Equatable {
| `- note: consider making struct 'KeychainAccessibility' conform to the 'Sendable' protocol
7 | let attribute: CFString
8 |
:
19 |
20 | /// The data in the keychain item can be accessed only while the device is unlocked by the user.
21 | public static let whenUnlockedThisDeviceOnly = Self(
| |- warning: static property 'whenUnlockedThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenUnlockedThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | attribute: kSecAttrAccessibleWhenUnlockedThisDeviceOnly
23 | )
[25/35] Emitting module KeychainStore
/Users/admin/builder/spi-builder-workspace/Sources/Keychain/KeychainAccessibility.swift:11:21: warning: static property 'afterFirstUnlock' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An object representing keychain accessibility level.
6 | public struct KeychainAccessibility: Equatable {
| `- note: consider making struct 'KeychainAccessibility' conform to the 'Sendable' protocol
7 | let attribute: CFString
8 |
9 | /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked
10 | /// once by the user.
11 | public static let afterFirstUnlock = Self(
| |- warning: static property 'afterFirstUnlock' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'afterFirstUnlock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | attribute: kSecAttrAccessibleAfterFirstUnlock
13 | )
/Users/admin/builder/spi-builder-workspace/Sources/Keychain/KeychainAccessibility.swift:16:21: warning: static property 'whenUnlocked' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An object representing keychain accessibility level.
6 | public struct KeychainAccessibility: Equatable {
| `- note: consider making struct 'KeychainAccessibility' conform to the 'Sendable' protocol
7 | let attribute: CFString
8 |
:
14 |
15 | /// The data in the keychain item can be accessed only while the device is unlocked by the user.
16 | public static let whenUnlocked = Self(
| |- warning: static property 'whenUnlocked' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenUnlocked' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | attribute: kSecAttrAccessibleWhenUnlocked
18 | )
/Users/admin/builder/spi-builder-workspace/Sources/Keychain/KeychainAccessibility.swift:21:21: warning: static property 'whenUnlockedThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An object representing keychain accessibility level.
6 | public struct KeychainAccessibility: Equatable {
| `- note: consider making struct 'KeychainAccessibility' conform to the 'Sendable' protocol
7 | let attribute: CFString
8 |
:
19 |
20 | /// The data in the keychain item can be accessed only while the device is unlocked by the user.
21 | public static let whenUnlockedThisDeviceOnly = Self(
| |- warning: static property 'whenUnlockedThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenUnlockedThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | attribute: kSecAttrAccessibleWhenUnlockedThisDeviceOnly
23 | )
/Users/admin/builder/spi-builder-workspace/Sources/Keychain/KeychainAccessibility.swift:27:21: warning: static property 'whenPasscodeSetThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An object representing keychain accessibility level.
6 | public struct KeychainAccessibility: Equatable {
| `- note: consider making struct 'KeychainAccessibility' conform to the 'Sendable' protocol
7 | let attribute: CFString
8 |
:
25 | /// The data in the keychain can only be accessed when the device is unlocked.
26 | /// Only available if a passcode is set on the device.
27 | public static let whenPasscodeSetThisDeviceOnly = Self(
| |- warning: static property 'whenPasscodeSetThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenPasscodeSetThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 | attribute: kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly
29 | )
/Users/admin/builder/spi-builder-workspace/Sources/Keychain/KeychainAccessibility.swift:33:21: warning: static property 'afterFirstUnlockThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An object representing keychain accessibility level.
6 | public struct KeychainAccessibility: Equatable {
| `- note: consider making struct 'KeychainAccessibility' conform to the 'Sendable' protocol
7 | let attribute: CFString
8 |
:
31 | /// The data in the keychain item cannot be accessed after a restart until the device has been
32 | /// unlocked once by the user.
33 | public static let afterFirstUnlockThisDeviceOnly = Self(
| |- warning: static property 'afterFirstUnlockThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'afterFirstUnlockThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
34 | attribute: kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
35 | )
[26/35] Compiling KeychainStore KeychainError.swift
[27/35] Compiling KeychainStore MultiKeychainStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/Keychain/KeychainAccessibility.swift:21:21: warning: static property 'whenUnlockedThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An object representing keychain accessibility level.
6 | public struct KeychainAccessibility: Equatable {
| `- note: consider making struct 'KeychainAccessibility' conform to the 'Sendable' protocol
7 | let attribute: CFString
8 |
:
19 |
20 | /// The data in the keychain item can be accessed only while the device is unlocked by the user.
21 | public static let whenUnlockedThisDeviceOnly = Self(
| |- warning: static property 'whenUnlockedThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenUnlockedThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | attribute: kSecAttrAccessibleWhenUnlockedThisDeviceOnly
23 | )
[28/35] Compiling KeychainStore KeychainAccessibility.swift
/Users/admin/builder/spi-builder-workspace/Sources/Keychain/KeychainAccessibility.swift:11:21: warning: static property 'afterFirstUnlock' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An object representing keychain accessibility level.
6 | public struct KeychainAccessibility: Equatable {
| `- note: consider making struct 'KeychainAccessibility' conform to the 'Sendable' protocol
7 | let attribute: CFString
8 |
9 | /// The data in the keychain item cannot be accessed after a restart until the device has been unlocked
10 | /// once by the user.
11 | public static let afterFirstUnlock = Self(
| |- warning: static property 'afterFirstUnlock' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'afterFirstUnlock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | attribute: kSecAttrAccessibleAfterFirstUnlock
13 | )
/Users/admin/builder/spi-builder-workspace/Sources/Keychain/KeychainAccessibility.swift:16:21: warning: static property 'whenUnlocked' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An object representing keychain accessibility level.
6 | public struct KeychainAccessibility: Equatable {
| `- note: consider making struct 'KeychainAccessibility' conform to the 'Sendable' protocol
7 | let attribute: CFString
8 |
:
14 |
15 | /// The data in the keychain item can be accessed only while the device is unlocked by the user.
16 | public static let whenUnlocked = Self(
| |- warning: static property 'whenUnlocked' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenUnlocked' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | attribute: kSecAttrAccessibleWhenUnlocked
18 | )
/Users/admin/builder/spi-builder-workspace/Sources/Keychain/KeychainAccessibility.swift:21:21: warning: static property 'whenUnlockedThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An object representing keychain accessibility level.
6 | public struct KeychainAccessibility: Equatable {
| `- note: consider making struct 'KeychainAccessibility' conform to the 'Sendable' protocol
7 | let attribute: CFString
8 |
:
19 |
20 | /// The data in the keychain item can be accessed only while the device is unlocked by the user.
21 | public static let whenUnlockedThisDeviceOnly = Self(
| |- warning: static property 'whenUnlockedThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenUnlockedThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | attribute: kSecAttrAccessibleWhenUnlockedThisDeviceOnly
23 | )
/Users/admin/builder/spi-builder-workspace/Sources/Keychain/KeychainAccessibility.swift:27:21: warning: static property 'whenPasscodeSetThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An object representing keychain accessibility level.
6 | public struct KeychainAccessibility: Equatable {
| `- note: consider making struct 'KeychainAccessibility' conform to the 'Sendable' protocol
7 | let attribute: CFString
8 |
:
25 | /// The data in the keychain can only be accessed when the device is unlocked.
26 | /// Only available if a passcode is set on the device.
27 | public static let whenPasscodeSetThisDeviceOnly = Self(
| |- warning: static property 'whenPasscodeSetThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'whenPasscodeSetThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 | attribute: kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly
29 | )
/Users/admin/builder/spi-builder-workspace/Sources/Keychain/KeychainAccessibility.swift:33:21: warning: static property 'afterFirstUnlockThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | /// An object representing keychain accessibility level.
6 | public struct KeychainAccessibility: Equatable {
| `- note: consider making struct 'KeychainAccessibility' conform to the 'Sendable' protocol
7 | let attribute: CFString
8 |
:
31 | /// The data in the keychain item cannot be accessed after a restart until the device has been
32 | /// unlocked once by the user.
33 | public static let afterFirstUnlockThisDeviceOnly = Self(
| |- warning: static property 'afterFirstUnlockThisDeviceOnly' is not concurrency-safe because non-'Sendable' type 'KeychainAccessibility' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'afterFirstUnlockThisDeviceOnly' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
34 | attribute: kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
35 | )
[29/35] Compiling FileSystemStore SingleFileSystemStore.swift
[30/35] Compiling FileSystemStore MultiFileSystemStore.swift
[31/35] Compiling CoreDataStore Database.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreData/Database.swift:6:13: warning: class 'Container' must restate inherited '@unchecked Sendable' conformance
4 | import Foundation
5 |
6 | final class Container: NSPersistentContainer {
| `- warning: class 'Container' must restate inherited '@unchecked Sendable' conformance
7 | override class func defaultDirectoryURL() -> URL {
8 | super.defaultDirectoryURL().appendingPathComponent("CoreDataStore")
/Users/admin/builder/spi-builder-workspace/Sources/CoreData/Database.swift:32:14: warning: static property 'entityModel' is not concurrency-safe because non-'Sendable' type 'NSManagedObjectModel' may have shared mutable state; this is an error in the Swift 6 language mode
30 | }
31 |
32 | static let entityModel: NSManagedObjectModel = {
| `- warning: static property 'entityModel' is not concurrency-safe because non-'Sendable' type 'NSManagedObjectModel' may have shared mutable state; this is an error in the Swift 6 language mode
33 | let entity = NSEntityDescription()
34 | entity.name = "Entity"
CoreData.NSManagedObjectModel:2:12: note: class 'NSManagedObjectModel' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.4, *)
2 | open class NSManagedObjectModel : NSObject, NSCoding, NSCopying, NSFastEnumeration {
| `- note: class 'NSManagedObjectModel' does not conform to the 'Sendable' protocol
3 | open class func mergedModel(from bundles: [Bundle]?) -> NSManagedObjectModel?
4 | @available(swift, obsoleted: 3, renamed: "mergedModel(from:)")
/Users/admin/builder/spi-builder-workspace/Sources/CoreData/Database.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
1 | #if canImport(CoreData)
2 |
3 | import CoreData
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
4 | import Foundation
5 |
:
30 | }
31 |
32 | static let entityModel: NSManagedObjectModel = {
| |- note: annotate 'entityModel' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 | let entity = NSEntityDescription()
34 | entity.name = "Entity"
[32/35] Emitting module CoreDataStore
/Users/admin/builder/spi-builder-workspace/Sources/CoreData/Database.swift:6:13: warning: class 'Container' must restate inherited '@unchecked Sendable' conformance
4 | import Foundation
5 |
6 | final class Container: NSPersistentContainer {
| `- warning: class 'Container' must restate inherited '@unchecked Sendable' conformance
7 | override class func defaultDirectoryURL() -> URL {
8 | super.defaultDirectoryURL().appendingPathComponent("CoreDataStore")
/Users/admin/builder/spi-builder-workspace/Sources/CoreData/Database.swift:32:14: warning: static property 'entityModel' is not concurrency-safe because non-'Sendable' type 'NSManagedObjectModel' may have shared mutable state; this is an error in the Swift 6 language mode
30 | }
31 |
32 | static let entityModel: NSManagedObjectModel = {
| `- warning: static property 'entityModel' is not concurrency-safe because non-'Sendable' type 'NSManagedObjectModel' may have shared mutable state; this is an error in the Swift 6 language mode
33 | let entity = NSEntityDescription()
34 | entity.name = "Entity"
CoreData.NSManagedObjectModel:2:12: note: class 'NSManagedObjectModel' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.4, *)
2 | open class NSManagedObjectModel : NSObject, NSCoding, NSCopying, NSFastEnumeration {
| `- note: class 'NSManagedObjectModel' does not conform to the 'Sendable' protocol
3 | open class func mergedModel(from bundles: [Bundle]?) -> NSManagedObjectModel?
4 | @available(swift, obsoleted: 3, renamed: "mergedModel(from:)")
/Users/admin/builder/spi-builder-workspace/Sources/CoreData/Database.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
1 | #if canImport(CoreData)
2 |
3 | import CoreData
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
4 | import Foundation
5 |
:
30 | }
31 |
32 | static let entityModel: NSManagedObjectModel = {
| |- note: annotate 'entityModel' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 | let entity = NSEntityDescription()
34 | entity.name = "Entity"
[33/35] Compiling CoreDataStore SingleCoreDataStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreData/Database.swift:32:14: warning: static property 'entityModel' is not concurrency-safe because non-'Sendable' type 'NSManagedObjectModel' may have shared mutable state; this is an error in the Swift 6 language mode
30 | }
31 |
32 | static let entityModel: NSManagedObjectModel = {
| `- warning: static property 'entityModel' is not concurrency-safe because non-'Sendable' type 'NSManagedObjectModel' may have shared mutable state; this is an error in the Swift 6 language mode
33 | let entity = NSEntityDescription()
34 | entity.name = "Entity"
CoreData.NSManagedObjectModel:2:12: note: class 'NSManagedObjectModel' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.4, *)
2 | open class NSManagedObjectModel : NSObject, NSCoding, NSCopying, NSFastEnumeration {
| `- note: class 'NSManagedObjectModel' does not conform to the 'Sendable' protocol
3 | open class func mergedModel(from bundles: [Bundle]?) -> NSManagedObjectModel?
4 | @available(swift, obsoleted: 3, renamed: "mergedModel(from:)")
/Users/admin/builder/spi-builder-workspace/Sources/CoreData/Database.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
1 | #if canImport(CoreData)
2 |
3 | import CoreData
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
4 | import Foundation
5 |
:
30 | }
31 |
32 | static let entityModel: NSManagedObjectModel = {
| |- note: annotate 'entityModel' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 | let entity = NSEntityDescription()
34 | entity.name = "Entity"
[34/35] Compiling CoreDataStore Entity.swift
[35/35] Compiling CoreDataStore MultiCoreDataStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreData/Database.swift:32:14: warning: static property 'entityModel' is not concurrency-safe because non-'Sendable' type 'NSManagedObjectModel' may have shared mutable state; this is an error in the Swift 6 language mode
30 | }
31 |
32 | static let entityModel: NSManagedObjectModel = {
| `- warning: static property 'entityModel' is not concurrency-safe because non-'Sendable' type 'NSManagedObjectModel' may have shared mutable state; this is an error in the Swift 6 language mode
33 | let entity = NSEntityDescription()
34 | entity.name = "Entity"
CoreData.NSManagedObjectModel:2:12: note: class 'NSManagedObjectModel' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.4, *)
2 | open class NSManagedObjectModel : NSObject, NSCoding, NSCopying, NSFastEnumeration {
| `- note: class 'NSManagedObjectModel' does not conform to the 'Sendable' protocol
3 | open class func mergedModel(from bundles: [Bundle]?) -> NSManagedObjectModel?
4 | @available(swift, obsoleted: 3, renamed: "mergedModel(from:)")
/Users/admin/builder/spi-builder-workspace/Sources/CoreData/Database.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
1 | #if canImport(CoreData)
2 |
3 | import CoreData
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
4 | import Foundation
5 |
:
30 | }
31 |
32 | static let entityModel: NSManagedObjectModel = {
| |- note: annotate 'entityModel' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 | let entity = NSEntityDescription()
34 | entity.name = "Entity"
[36/37] Emitting module Stores
[37/37] Compiling Stores Stores.swift
Build complete! (9.64s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Stores",
"name" : "Stores",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "Stores",
"targets" : [
"Stores"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Blueprints",
"targets" : [
"Blueprints"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "UserDefaultsStore",
"targets" : [
"UserDefaultsStore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "FileSystemStore",
"targets" : [
"FileSystemStore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "CoreDataStore",
"targets" : [
"CoreDataStore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "KeychainStore",
"targets" : [
"KeychainStore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "StoresTestUtils",
"targets" : [
"TestUtils"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "UserDefaultsStoreTests",
"module_type" : "SwiftTarget",
"name" : "UserDefaultsStoreTests",
"path" : "Tests/UserDefaults",
"sources" : [
"MultiUserDefaultsStoreTests.swift",
"SingleUserDefaultsStoreTests.swift"
],
"target_dependencies" : [
"UserDefaultsStore",
"TestUtils"
],
"type" : "test"
},
{
"c99name" : "UserDefaultsStore",
"module_type" : "SwiftTarget",
"name" : "UserDefaultsStore",
"path" : "Sources/UserDefaults",
"product_memberships" : [
"Stores",
"UserDefaultsStore"
],
"sources" : [
"MultiUserDefaultsStore.swift",
"SingleUserDefaultsStore.swift"
],
"target_dependencies" : [
"Blueprints"
],
"type" : "library"
},
{
"c99name" : "TestUtils",
"module_type" : "SwiftTarget",
"name" : "TestUtils",
"path" : "Tests/Utils",
"product_memberships" : [
"StoresTestUtils"
],
"sources" : [
"MultiObjectStoreFake.swift",
"SingleObjectStoreFake.swift",
"StoresError.swift",
"User.swift"
],
"target_dependencies" : [
"Blueprints"
],
"type" : "library"
},
{
"c99name" : "Stores",
"module_type" : "SwiftTarget",
"name" : "Stores",
"path" : "Sources/Stores",
"product_memberships" : [
"Stores"
],
"sources" : [
"Stores.swift"
],
"target_dependencies" : [
"Blueprints",
"UserDefaultsStore",
"FileSystemStore",
"CoreDataStore",
"KeychainStore"
],
"type" : "library"
},
{
"c99name" : "KeychainStoreTests",
"module_type" : "SwiftTarget",
"name" : "KeychainStoreTests",
"path" : "Tests/Keychain",
"sources" : [
"KeychainErrorTests.swift",
"MultiKeychainStoreTests.swift",
"SingleKeychainStoreTests.swift"
],
"target_dependencies" : [
"KeychainStore",
"TestUtils"
],
"type" : "test"
},
{
"c99name" : "KeychainStore",
"module_type" : "SwiftTarget",
"name" : "KeychainStore",
"path" : "Sources/Keychain",
"product_memberships" : [
"Stores",
"KeychainStore"
],
"sources" : [
"KeychainAccessibility.swift",
"KeychainError.swift",
"MultiKeychainStore.swift",
"SingleKeychainStore.swift"
],
"target_dependencies" : [
"Blueprints"
],
"type" : "library"
},
{
"c99name" : "FileSystemStoreTests",
"module_type" : "SwiftTarget",
"name" : "FileSystemStoreTests",
"path" : "Tests/FileSystem",
"sources" : [
"MultiFileSystemStoreTests.swift",
"SingleFileSystemStoreTests.swift"
],
"target_dependencies" : [
"FileSystemStore",
"TestUtils"
],
"type" : "test"
},
{
"c99name" : "FileSystemStore",
"module_type" : "SwiftTarget",
"name" : "FileSystemStore",
"path" : "Sources/FileSystem",
"product_memberships" : [
"Stores",
"FileSystemStore"
],
"sources" : [
"MultiFileSystemStore.swift",
"SingleFileSystemStore.swift"
],
"target_dependencies" : [
"Blueprints"
],
"type" : "library"
},
{
"c99name" : "CoreDataStoreTests",
"module_type" : "SwiftTarget",
"name" : "CoreDataStoreTests",
"path" : "Tests/CoreData",
"sources" : [
"DatabaseTests.swift",
"MultiCoreDataStoreTests.swift",
"SingleCoreDataStoreTests.swift"
],
"target_dependencies" : [
"CoreDataStore",
"TestUtils"
],
"type" : "test"
},
{
"c99name" : "CoreDataStore",
"module_type" : "SwiftTarget",
"name" : "CoreDataStore",
"path" : "Sources/CoreData",
"product_memberships" : [
"Stores",
"CoreDataStore"
],
"sources" : [
"Database.swift",
"Entity.swift",
"MultiCoreDataStore.swift",
"SingleCoreDataStore.swift"
],
"target_dependencies" : [
"Blueprints"
],
"type" : "library"
},
{
"c99name" : "BlueprintsTests",
"module_type" : "SwiftTarget",
"name" : "BlueprintsTests",
"path" : "Tests/Blueprints",
"sources" : [
"AnyMultiObjectStoreTests.swift",
"AnySingleObjectStoreTests.swift",
"MultiObjectStoreTests.swift",
"SingleObjectStoreTests.swift"
],
"target_dependencies" : [
"Blueprints",
"TestUtils"
],
"type" : "test"
},
{
"c99name" : "Blueprints",
"module_type" : "SwiftTarget",
"name" : "Blueprints",
"path" : "Sources/Blueprints",
"product_memberships" : [
"Stores",
"Blueprints",
"UserDefaultsStore",
"FileSystemStore",
"CoreDataStore",
"KeychainStore",
"StoresTestUtils"
],
"sources" : [
"AnyMultiObjectStore.swift",
"AnySingleObjectStore.swift",
"Logger.swift",
"MultiObjectStore.swift",
"SingleObjectStore.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/omaralbeik/stores/1.0.0
Repository: omaralbeik/Stores
Swift version used: 6.0
Target: Stores
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
* branch 88815688627177b9716a01ca41da19397bd30e47 -> FETCH_HEAD
HEAD is now at 8881568 Update the artifact
Extracting symbol information for 'Stores'...
Finished extracting symbol information for 'Stores'. (4.99s)
Building documentation for 'Stores'...
warning: 'SingleObjectStore' doesn't exist at '/Stores/Motivation'
--> Articles/Motivation.md:11:42-11:59
9 | **Stores** tries to abstract the concept of a store and provide various implementations that can be injected in such environment and swapped easily when running tests or based on a remote flag.
10 |
11 + It all boils down to the two protocols ``SingleObjectStore`` and ``MultiObjectStore`` defined in the **Blueprints** layer, which provide the abstract concepts of stores that can store a single or multiple objects of a generic `Codable` type.
12 |
13 | The two protocols are then implemented in the different modules as explained in the chart below:
warning: 'MultiObjectStore' doesn't exist at '/Stores/Motivation'
--> Articles/Motivation.md:11:68-11:84
9 | **Stores** tries to abstract the concept of a store and provide various implementations that can be injected in such environment and swapped easily when running tests or based on a remote flag.
10 |
11 + It all boils down to the two protocols ``SingleObjectStore`` and ``MultiObjectStore`` defined in the **Blueprints** layer, which provide the abstract concepts of stores that can store a single or multiple objects of a generic `Codable` type.
12 |
13 | The two protocols are then implemented in the different modules as explained in the chart below:
warning: 'MultiUserDefaultsStore' doesn't exist at '/Stores/Usage'
--> Articles/Usage.md:34:5-34:27
32 | #### a. UserDefaults
33 |
34 + - ``MultiUserDefaultsStore``
| ╰─suggestion: Replace 'MultiUserDefaultsStore' with 'a-UserDefaults'
35 | - ``SingleUserDefaultsStore``
36 |
warning: 'SingleUserDefaultsStore' doesn't exist at '/Stores/Usage'
--> Articles/Usage.md:35:5-35:28
33 |
34 | - ``MultiUserDefaultsStore``
35 + - ``SingleUserDefaultsStore``
| ╰─suggestion: Replace 'SingleUserDefaultsStore' with 'a-UserDefaults'
36 |
37 | ```swift
warning: 'MultiFileSystemStore' doesn't exist at '/Stores/Usage'
--> Articles/Usage.md:47:5-47:25
45 | #### b. FileSystem
46 |
47 + - ``MultiFileSystemStore``
| ╰─suggestion: Replace 'MultiFileSystemStore' with 'b-FileSystem'
48 | - ``SingleFileSystemStore``
49 |
warning: 'SingleFileSystemStore' doesn't exist at '/Stores/Usage'
--> Articles/Usage.md:48:5-48:26
46 |
47 | - ``MultiFileSystemStore``
48 + - ``SingleFileSystemStore``
| ╰─suggestion: Replace 'SingleFileSystemStore' with 'b-FileSystem'
49 |
50 | ```swift
warning: 'MultiCoreDataStore' doesn't exist at '/Stores/Usage'
--> Articles/Usage.md:60:5-60:23
58 | #### c. CoreData
59 |
60 + - ``MultiCoreDataStore``
61 | - ``SingleCoreDataStore``
62 |
warning: 'SingleCoreDataStore' doesn't exist at '/Stores/Usage'
--> Articles/Usage.md:61:5-61:24
59 |
60 | - ``MultiCoreDataStore``
61 + - ``SingleCoreDataStore``
62 |
63 | ```swift
warning: 'MultiKeychainStore' doesn't exist at '/Stores/Usage'
--> Articles/Usage.md:73:5-73:23
71 | #### d. Keychain
72 |
73 + - ``MultiKeychainStore``
74 | - ``SingleKeychainStore``
75 |
warning: 'SingleKeychainStore' doesn't exist at '/Stores/Usage'
--> Articles/Usage.md:74:5-74:24
72 |
73 | - ``MultiKeychainStore``
74 + - ``SingleKeychainStore``
75 |
76 | ```swiftFinished building documentation for 'Stores' (0.11s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/omaralbeik/stores/1.0.0
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2038] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.23s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (0.66s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3168] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.24s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.66s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
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
Building for debugging...
[0/8] Write sources
[3/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version--7754E27361AE5C74.txt
[6/53] Compiling SymbolKit Mixin+Equals.swift
[7/53] Compiling SymbolKit Mixin+Hash.swift
[8/53] Compiling SymbolKit Mixin.swift
[9/53] Compiling SymbolKit LineList.swift
[10/53] Compiling SymbolKit Position.swift
[11/57] Emitting module SymbolKit
[12/57] Compiling Snippets Snippet.swift
[13/57] Compiling SymbolKit SemanticVersion.swift
[14/57] Compiling SymbolKit AccessControl.swift
[15/57] Compiling SymbolKit Availability.swift
[16/57] Compiling SymbolKit AvailabilityItem.swift
[17/57] Compiling SymbolKit Domain.swift
[18/57] Compiling SymbolKit DeclarationFragments.swift
[19/57] Compiling SymbolKit Fragment.swift
[20/57] Compiling SymbolKit FragmentKind.swift
[21/57] Compiling SymbolKit FunctionParameter.swift
[22/57] Compiling SymbolKit FunctionSignature.swift
[23/57] Compiling Snippets SnippetParser.swift
[24/57] Emitting module Snippets
[25/57] Compiling SymbolKit SourceRange.swift
[26/57] Compiling SymbolKit Metadata.swift
[27/57] Compiling SymbolKit Module.swift
[28/57] Compiling SymbolKit OperatingSystem.swift
[29/57] Compiling SymbolKit Platform.swift
[30/57] Compiling SymbolKit Names.swift
[31/57] Compiling SymbolKit SPI.swift
[32/57] Compiling SymbolKit Snippet.swift
[33/57] Compiling SymbolKit Extension.swift
[34/57] Compiling SymbolKit Identifier.swift
[35/57] Compiling SymbolKit KindIdentifier.swift
[36/57] Compiling SymbolKit Location.swift
[37/57] Compiling SymbolKit Mutability.swift
[38/57] Compiling SymbolKit Symbol.swift
[39/57] Compiling SymbolKit SymbolKind.swift
[40/57] Compiling SymbolKit SymbolGraph.swift
[41/57] Compiling SymbolKit GraphCollector.swift
[42/57] Compiling SymbolKit GenericConstraint.swift
[43/57] Compiling SymbolKit GenericParameter.swift
[44/57] Compiling SymbolKit Generics.swift
[45/57] Compiling SymbolKit Namespace.swift
[46/57] Compiling SymbolKit Relationship.swift
[47/57] Compiling SymbolKit RelationshipKind.swift
[48/57] Compiling SymbolKit SourceOrigin.swift
[49/57] Compiling SymbolKit GenericConstraints.swift
[50/57] Compiling SymbolKit Swift.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.60s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/7] Compiling Blueprints SingleObjectStore.swift
[3/7] Compiling Blueprints MultiObjectStore.swift
[4/7] Compiling Blueprints AnySingleObjectStore.swift
[5/7] Compiling Blueprints AnyMultiObjectStore.swift
[6/7] Emitting module Blueprints
[7/7] Compiling Blueprints Logger.swift
[8/23] Compiling UserDefaultsStore SingleUserDefaultsStore.swift
[9/23] Emitting module UserDefaultsStore
[10/23] Compiling UserDefaultsStore MultiUserDefaultsStore.swift
[11/23] Compiling CoreDataStore SingleCoreDataStore.swift
[12/23] Compiling KeychainStore SingleKeychainStore.swift
[13/23] Compiling CoreDataStore Entity.swift
[14/23] Compiling CoreDataStore Database.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreData/Database.swift:6:13: warning: class 'Container' must restate inherited '@unchecked Sendable' conformance
4 | import Foundation
5 |
6 | final class Container: NSPersistentContainer {
| `- warning: class 'Container' must restate inherited '@unchecked Sendable' conformance
7 | override class func defaultDirectoryURL() -> URL {
8 | super.defaultDirectoryURL().appendingPathComponent("CoreDataStore")
[15/23] Emitting module CoreDataStore
/Users/admin/builder/spi-builder-workspace/Sources/CoreData/Database.swift:6:13: warning: class 'Container' must restate inherited '@unchecked Sendable' conformance
4 | import Foundation
5 |
6 | final class Container: NSPersistentContainer {
| `- warning: class 'Container' must restate inherited '@unchecked Sendable' conformance
7 | override class func defaultDirectoryURL() -> URL {
8 | super.defaultDirectoryURL().appendingPathComponent("CoreDataStore")
[16/23] Compiling CoreDataStore MultiCoreDataStore.swift
[17/23] Compiling FileSystemStore MultiFileSystemStore.swift
[18/23] Compiling FileSystemStore SingleFileSystemStore.swift
[19/23] Emitting module FileSystemStore
[20/23] Emitting module KeychainStore
[21/23] Compiling KeychainStore MultiKeychainStore.swift
[22/23] Compiling KeychainStore KeychainError.swift
[23/23] Compiling KeychainStore KeychainAccessibility.swift
[24/25] Compiling Stores Stores.swift
[25/25] Emitting module Stores
Build of target: 'Stores' complete! (2.89s)
Target: Blueprints
Extracting symbol information for 'Blueprints'...
Finished extracting symbol information for 'Blueprints'. (0.33s)
Building documentation for 'Blueprints'...
Finished building documentation for 'Blueprints' (0.07s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/omaralbeik/stores/1.0.0
Building for debugging...
[0/3] Write swift-version--7754E27361AE5C74.txt
Build of product 'snippet-extract' complete! (0.20s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
Build of target: 'Blueprints' complete! (0.18s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/omaralbeik/stores/1.0.0/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/omaralbeik/stores/1.0.0/linkable-paths.json
Target: UserDefaultsStore
Extracting symbol information for 'UserDefaultsStore'...
Finished extracting symbol information for 'UserDefaultsStore'. (0.31s)
Building documentation for 'UserDefaultsStore'...
Finished building documentation for 'UserDefaultsStore' (0.05s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/omaralbeik/stores/1.0.0
Building for debugging...
[0/3] Write swift-version--7754E27361AE5C74.txt
Build of product 'snippet-extract' complete! (0.18s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
Build of target: 'UserDefaultsStore' complete! (0.17s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/omaralbeik/stores/1.0.0/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/omaralbeik/stores/1.0.0/linkable-paths.json
Target: FileSystemStore
Extracting symbol information for 'FileSystemStore'...
Finished extracting symbol information for 'FileSystemStore'. (0.32s)
Building documentation for 'FileSystemStore'...
Finished building documentation for 'FileSystemStore' (0.06s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/omaralbeik/stores/1.0.0
Building for debugging...
[0/3] Write swift-version--7754E27361AE5C74.txt
Build of product 'snippet-extract' complete! (0.19s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
Build of target: 'FileSystemStore' complete! (0.18s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/omaralbeik/stores/1.0.0/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/omaralbeik/stores/1.0.0/linkable-paths.json
Target: CoreDataStore
Extracting symbol information for 'CoreDataStore'...
Finished extracting symbol information for 'CoreDataStore'. (0.32s)
Building documentation for 'CoreDataStore'...
Finished building documentation for 'CoreDataStore' (0.05s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/omaralbeik/stores/1.0.0
Building for debugging...
[0/3] Write swift-version--7754E27361AE5C74.txt
Build of product 'snippet-extract' complete! (0.19s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
Build of target: 'CoreDataStore' complete! (0.18s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/omaralbeik/stores/1.0.0/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/omaralbeik/stores/1.0.0/linkable-paths.json
Target: KeychainStore
Extracting symbol information for 'KeychainStore'...
Finished extracting symbol information for 'KeychainStore'. (0.33s)
Building documentation for 'KeychainStore'...
Finished building documentation for 'KeychainStore' (0.06s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/omaralbeik/stores/1.0.0
Building for debugging...
[0/3] Write swift-version--7754E27361AE5C74.txt
Build of product 'snippet-extract' complete! (0.20s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
Build of target: 'KeychainStore' complete! (0.18s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/omaralbeik/stores/1.0.0/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/omaralbeik/stores/1.0.0/linkable-paths.json
Target: TestUtils
Extracting symbol information for 'TestUtils'...
Finished extracting symbol information for 'TestUtils'. (0.70s)
Building documentation for 'TestUtils'...
Finished building documentation for 'TestUtils' (0.05s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/omaralbeik/stores/1.0.0
Building for debugging...
[0/3] Write swift-version--7754E27361AE5C74.txt
Build of product 'snippet-extract' complete! (0.20s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/6] Compiling TestUtils StoresError.swift
[3/6] Compiling TestUtils SingleObjectStoreFake.swift
[4/6] Emitting module TestUtils
[5/6] Compiling TestUtils MultiObjectStoreFake.swift
[6/6] Compiling TestUtils User.swift
Build of target: 'TestUtils' complete! (0.55s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/omaralbeik/stores/1.0.0/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/omaralbeik/stores/1.0.0/linkable-paths.json
490
4 /Users/admin/builder/spi-builder-workspace/.docs/omaralbeik/stores/1.0.0
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/omaralbeik/stores/1.0.0
File count: 490
Doc size: 4.0MB
Preparing doc bundle ...
Uploading prod-omaralbeik-stores-1.0.0-b59ee94b.zip to s3://spi-docs-inbox/prod-omaralbeik-stores-1.0.0-b59ee94b.zip
Copying... [15%]
Copying... [23%]
Copying... [30%]
Copying... [45%]
Copying... [53%]
Copying... [60%]
Copying... [75%]
Copying... [83%]
Copying... [90%]
Copying... [100%]
Done.