Build Information
Successful build of ShoppingListModule, reference main (6b9fef), with Swift 6.4 for macOS (SPM) on 22 Sep 2026 19:17:57 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/manozghale/ShoppingListModule.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/manozghale/ShoppingListModule
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 6b9fef5 Remove MVVM Combine docs and update code
Cloned https://github.com/manozghale/ShoppingListModule.git
Revision (git rev-parse @):
6b9fef572aac7e763d4ed5de8df2e765dcabb1bd
SUCCESS checkout https://github.com/manozghale/ShoppingListModule.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/manozghale/ShoppingListModule.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 95]
[Planning deferred tasks]
[24 / 40]
[25 / 41] ShoppingListModule
[35 / 118]
[38 / 118]
[46 / 118]
[48 / 118]
[49 / 118]
[55 / 118]
[57 / 118]
[60 / 118]
[66 / 118]
[69 / 118]
[71 / 118]
[72 / 118]
[82 / 118]
[84 / 118]
[85 / 118]
[88 / 118]
[90 / 118]
[102 / 118] ShoppingListModule
[103 / 118] ShoppingListModule
[111 / 119] TestSPMIntegration-product
[113 / 121] TestSPMIntegration-product
[114 / 121] ShoppingListModule
[119 / 121] TestSPMIntegration-product
Build complete! (12.79 sec)
warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:156:31: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m154 |[0;0m case missingDependency(String)
[0;36m155 |[0;0m case configurationError(String)
[0;36m156 |[0;0m case initializationFailed(Error)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m157 |[0;0m
[0;36m158 |[0;0m public var errorDescription: String? {
macro expansion @Model:9:25: [1;33mwarning: [1;39mredundant conformance of 'ShoppingItem' to protocol 'Sendable'[0;0m
`- /Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Models/ShoppingItem.swift:89:2: [1;39mnote: [1;39mexpanded code originates here[0;0m
[0;36m12 |[0;0m /// Designed to support offline-first architecture with sync capabilities
[0;36m13 |[0;0m
[0;36m14 |[0;0m [4;39m@Model[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39min expansion of macro 'Model' on class 'ShoppingItem' here[0;0m
[0;36m15 |[0;0m public class ShoppingItem: Identifiable, @unchecked Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39m'ShoppingItem' declares conformance to protocol 'Sendable' here[0;0m
[0;36m16 |[0;0m /// Unique identifier - using UUID for distributed system compatibility
[0;36m17 |[0;0m @Attribute(.unique) public var id: String
[0;36m:[0;0m
[0;36m87 |[0;0m return nameMatches || noteMatches
[0;36m88 |[0;0m }
[0;36m89 |[0;0m }
[0;36m +--- [0;0mmacro expansion @Model [0;36m----------------------------------------[0;0m
[0;36m |[0;0m [0;36m7 |[0;0m @available(swift, deprecated: 5.9, message: "PersistentModels are not Sendable, consider utilizing a ModelActor or use ShoppingItem's persistentModelID instead")
[0;36m |[0;0m [0;36m8 |[0;0m @available(*, unavailable, message: "PersistentModels are not Sendable, consider utilizing a ModelActor or use ShoppingItem's persistentModelID instead")
[0;36m |[0;0m [0;36m9 |[0;0m extension ShoppingItem: Sendable {
[0;36m |[0;0m [0;36m|[0;0m `- [1;33mwarning: [1;39mredundant conformance of 'ShoppingItem' to protocol 'Sendable'[0;0m
[0;36m |[0;0m[0;36m10 |[0;0m }
[0;36m +---------------------------[0;0m[0;36m----------------------------------------[0;0m
[0;36m90 |[0;0m
[0;36m91 |[0;0m /// Sort options for item display
[#ExistentialAny]: <https://docs.swift.org/compiler/documentation/diagnostics/existential-any>
<unknown>:0: warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/BackgroundSyncManager.swift:65:73: [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m63 |[0;0m @MainActor
[0;36m64 |[0;0m private func performBackgroundSync() async {
[0;36m65 |[0;0m guard let syncService = ShoppingListDependencies.shared.resolve(SyncService.self) else {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m66 |[0;0m return
[0;36m67 |[0;0m }
[#ExistentialAny]: <https://docs.swift.org/compiler/documentation/diagnostics/existential-any>
<unknown>:0: warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
macro expansion @Model:9:25: [1;33mwarning: [1;39mredundant conformance of 'ShoppingItem' to protocol 'Sendable'[0;0m
`- /Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Models/ShoppingItem.swift:89:2: [1;39mnote: [1;39mexpanded code originates here[0;0m
[0;36m12 |[0;0m /// Designed to support offline-first architecture with sync capabilities
[0;36m13 |[0;0m
[0;36m14 |[0;0m [4;39m@Model[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39min expansion of macro 'Model' on class 'ShoppingItem' here[0;0m
[0;36m15 |[0;0m public class ShoppingItem: Identifiable, @unchecked Sendable {
[0;36m|[0;0m `- [1;39mnote: [1;39m'ShoppingItem' declares conformance to protocol 'Sendable' here[0;0m
[0;36m16 |[0;0m /// Unique identifier - using UUID for distributed system compatibility
[0;36m17 |[0;0m @Attribute(.unique) public var id: String
[0;36m:[0;0m
[0;36m87 |[0;0m return nameMatches || noteMatches
[0;36m88 |[0;0m }
[0;36m89 |[0;0m }
[0;36m +--- [0;0mmacro expansion @Model [0;36m----------------------------------------[0;0m
[0;36m |[0;0m [0;36m7 |[0;0m @available(swift, deprecated: 5.9, message: "PersistentModels are not Sendable, consider utilizing a ModelActor or use ShoppingItem's persistentModelID instead")
[0;36m |[0;0m [0;36m8 |[0;0m @available(*, unavailable, message: "PersistentModels are not Sendable, consider utilizing a ModelActor or use ShoppingItem's persistentModelID instead")
[0;36m |[0;0m [0;36m9 |[0;0m extension ShoppingItem: Sendable {
[0;36m |[0;0m [0;36m|[0;0m `- [1;33mwarning: [1;39mredundant conformance of 'ShoppingItem' to protocol 'Sendable'[0;0m
[0;36m |[0;0m[0;36m10 |[0;0m }
[0;36m +---------------------------[0;0m[0;36m----------------------------------------[0;0m
[0;36m90 |[0;0m
[0;36m91 |[0;0m /// Sort options for item display
<unknown>:0: warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/Data/Network/SyncService.swift:135:24: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m133 |[0;0m /// Implements exponential backoff retry logic
[0;36m134 |[0;0m private func retryWithBackoff<T>(_ operation: () async throws -> T) async throws -> T {
[0;36m135 |[0;0m var lastError: Error?
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m136 |[0;0m
[0;36m137 |[0;0m for attempt in 0..<maxRetries {
[#ExistentialAny]: <https://docs.swift.org/compiler/documentation/diagnostics/existential-any>
warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
/Users/admin/builder/spi-builder-workspace/Sources/TestSPMIntegration/main.swift:27:24: [1;33mwarning: [1;39mno calls to throwing functions occur within 'try' expression[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
[0;36m25 |[0;0m print("\n3. Testing createView() method...")
[0;36m26 |[0;0m do {
[0;36m27 |[0;0m let view = try await ShoppingListModule.createView()
[0;36m|[0;0m `- [1;33mwarning: [1;39mno calls to throwing functions occur within 'try' expression[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
[0;36m28 |[0;0m print("✅ Successfully created view with createView(): \(type(of: view))")
[0;36m29 |[0;0m } catch {
/Users/admin/builder/spi-builder-workspace/Sources/TestSPMIntegration/main.swift:29:11: [1;33mwarning: [1;39m'catch' block is unreachable because no errors are thrown in 'do' block[0;0m
[0;36m27 |[0;0m let view = try await ShoppingListModule.createView()
[0;36m28 |[0;0m print("✅ Successfully created view with createView(): \(type(of: view))")
[0;36m29 |[0;0m } catch {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'catch' block is unreachable because no errors are thrown in 'do' block[0;0m
[0;36m30 |[0;0m print("❌ Failed to create view with createView(): \(error)")
[0;36m31 |[0;0m }
[#UnnecessaryEffectMarker]: <https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker>
<unknown>:0: warning: upcoming feature 'ImplicitOpenExistentials' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ForwardTrailingClosures' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'ConciseMagicFile' already enabled as of the Swift 6 language mode
<unknown>:0: warning: upcoming feature 'BareSlashRegexLiterals' already enabled as of the Swift 6 language mode
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:156:31: [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m154 |[0;0m case missingDependency(String)
[0;36m155 |[0;0m case configurationError(String)
[0;36m156 |[0;0m case initializationFailed(Error)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'Error' as a type must be written 'any Error'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m157 |[0;0m
[0;36m158 |[0;0m public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:48:72: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m46 |[0;0m print("Dependencies setup completed, resolving repository...")
[0;36m47 |[0;0m
[0;36m48 |[0;0m guard let repository = ShoppingListDependencies.shared.resolve(ShoppingListRepository.self) else {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m49 |[0;0m print("Failed to resolve ShoppingListRepository")
[0;36m50 |[0;0m throw ModuleError.missingDependency("ShoppingListRepository")
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:55:73: [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m53 |[0;0m print("Repository resolved: \(type(of: repository))")
[0;36m54 |[0;0m
[0;36m55 |[0;0m guard let syncService = ShoppingListDependencies.shared.resolve(SyncService.self) else {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m56 |[0;0m print("Failed to resolve SyncService")
[0;36m57 |[0;0m throw ModuleError.missingDependency("SyncService")
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:73:25: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m71 |[0;0m
[0;36m72 |[0;0m // Setup Repository
[0;36m73 |[0;0m let repository: ShoppingListRepository
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m74 |[0;0m if configuration.isTestMode {
[0;36m75 |[0;0m repository = MockShoppingListRepository()
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:87:60: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m85 |[0;0m
[0;36m86 |[0;0m // Verify repository was registered
[0;36m87 |[0;0m guard let registeredRepository = container.resolve(ShoppingListRepository.self) else {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m88 |[0;0m throw ModuleError.configurationError("Repository registration failed")
[0;36m89 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:93:29: [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m91 |[0;0m
[0;36m92 |[0;0m // Setup Network Service
[0;36m93 |[0;0m let networkService: NetworkService
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m94 |[0;0m if let apiURL = configuration.apiBaseURL {
[0;36m95 |[0;0m networkService = HTTPShoppingNetworkService(baseURL: apiURL)
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:109:41: [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m107 |[0;0m
[0;36m108 |[0;0m // Verify all dependencies are registered
[0;36m109 |[0;0m guard let _ = container.resolve(SyncService.self) else {
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m110 |[0;0m throw ModuleError.configurationError("SyncService registration failed")
[0;36m111 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:84:45: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m82 |[0;0m }
[0;36m83 |[0;0m }
[0;36m84 |[0;0m container.register(repository, for: ShoppingListRepository.self)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m85 |[0;0m
[0;36m86 |[0;0m // Verify repository was registered
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:99:49: [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m97 |[0;0m networkService = MockNetworkService()
[0;36m98 |[0;0m }
[0;36m99 |[0;0m container.register(networkService, for: NetworkService.self)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m100 |[0;0m
[0;36m101 |[0;0m // Setup Sync Service
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:106:46: [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m104 |[0;0m networkService: networkService
[0;36m105 |[0;0m )
[0;36m106 |[0;0m container.register(syncService, for: SyncService.self)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m107 |[0;0m
[0;36m108 |[0;0m // Verify all dependencies are registered
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:184:49: [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m182 |[0;0m // Register test dependencies
[0;36m183 |[0;0m let container = ShoppingListDependencies.shared
[0;36m184 |[0;0m container.register(mockRepository, for: ShoppingListRepository.self)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'ShoppingListRepository' as a type must be written 'any ShoppingListRepository'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m185 |[0;0m container.register(mockNetworkService, for: NetworkService.self)
[0;36m186 |[0;0m container.register(syncService, for: SyncService.self)
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:185:53: [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m183 |[0;0m let container = ShoppingListDependencies.shared
[0;36m184 |[0;0m container.register(mockRepository, for: ShoppingListRepository.self)
[0;36m185 |[0;0m container.register(mockNetworkService, for: NetworkService.self)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'NetworkService' as a type must be written 'any NetworkService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m186 |[0;0m container.register(syncService, for: SyncService.self)
[0;36m187 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/ShoppingListModule/DependencyInjection/ShoppingListModuleFactory.swift:186:46: [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m184 |[0;0m container.register(mockRepository, for: ShoppingListRepository.self)
[0;36m185 |[0;0m container.register(mockNetworkService, for: NetworkService.self)
[0;36m186 |[0;0m container.register(syncService, for: SyncService.self)
[0;36m|[0;0m `- [1;33mwarning: [1;39muse of protocol 'SyncService' as a type must be written 'any SyncService'; this will be an error in a future Swift language mode[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/existential-any\ExistentialAny]8;;\]
[0;36m187 |[0;0m
[0;36m188 |[0;0m let viewModel = ShoppingListViewModel(repository: mockRepository, syncService: syncService)
[#ExistentialAny]: <https://docs.swift.org/compiler/documentation/diagnostics/existential-any>
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "ShoppingListModule",
"name" : "ShoppingListModule",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "17.0"
},
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "ShoppingListModule",
"targets" : [
"ShoppingListModule"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "TestSPMIntegration",
"targets" : [
"TestSPMIntegration"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "TestSPMIntegration",
"module_type" : "SwiftTarget",
"name" : "TestSPMIntegration",
"path" : "Sources/TestSPMIntegration",
"product_memberships" : [
"TestSPMIntegration"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"ShoppingListModule"
],
"type" : "executable"
},
{
"c99name" : "ShoppingListModuleTests",
"module_type" : "SwiftTarget",
"name" : "ShoppingListModuleTests",
"path" : "Tests/ShoppingListModuleTests",
"sources" : [
"DataTests/BackgroundSyncManagerTests.swift",
"DataTests/NetworkServiceTests.swift",
"DataTests/RepositoryTests.swift",
"DataTests/SyncServiceTests.swift",
"IntegrationTests/EndToEndTests.swift",
"IntegrationTests/ModuleIntegrationTests.swift",
"IntegrationTests/SwiftDataRepositoryIntegrationTests.swift",
"ModelTests/ArrayExtensionTests.swift",
"ModelTests/ShoppingItemTests.swift",
"PresentationTests/UIIntegrationTests.swift",
"PresentationTests/ViewModelTests.swift",
"TestUtilities/MockData.swift",
"TestUtilities/TestHelpers.swift",
"TestUtilities/XCTestExtensions.swift"
],
"target_dependencies" : [
"ShoppingListModule"
],
"type" : "test"
},
{
"c99name" : "ShoppingListModule",
"module_type" : "SwiftTarget",
"name" : "ShoppingListModule",
"path" : "Sources/ShoppingListModule",
"product_memberships" : [
"ShoppingListModule",
"TestSPMIntegration"
],
"sources" : [
"Data/Network/HTTPNetworkService.swift",
"Data/Network/MockNetworkService.swift",
"Data/Network/NetworkService.swift",
"Data/Network/SyncService.swift",
"Data/Repository/MockRepository.swift",
"Data/Repository/ShoppingListRepository.swift",
"Data/Repository/SwiftDataRepository.swift",
"DependencyInjection/BackgroundSyncManager.swift",
"DependencyInjection/ShoppingListConfiguration.swift",
"DependencyInjection/ShoppingListDependencies.swift",
"DependencyInjection/ShoppingListModuleFactory.swift",
"Models/FilteringSorting.swift",
"Models/ShoppingItem.swift",
"Models/SyncStatus.swift",
"Presentation/ViewModels/ShoppingListErrors.swift",
"Presentation/ViewModels/ShoppingListViewModel.swift",
"Presentation/Views/Components/AddItemSheet.swift",
"Presentation/Views/Components/EditItemSheet.swift",
"Presentation/Views/Components/EmptyStateView.swift",
"Presentation/Views/Components/SearchAndFilterBar.swift",
"Presentation/Views/Components/ShoppingItemRow.swift",
"Presentation/Views/ShoppingListView.swift",
"Presentation/Views/Supporting/LoadingView.swift",
"ShoppingListModule.swift"
],
"type" : "library"
}
],
"tools_version" : "6.1"
}
Done.