Build Information
Successful build of Harbor, reference main (d13251
), with Swift 6.0 for macOS (SPM) on 5 Nov 2024 21:34:48 UTC.
Swift 6 data race errors: 3
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.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/javiermanzo/Harbor.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/javiermanzo/Harbor
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at d132512 Update podspec version
Cloned https://github.com/javiermanzo/Harbor.git
Revision (git rev-parse @):
d132512d92da6c58aaffeefe58deda49524d9b38
SUCCESS checkout https://github.com/javiermanzo/Harbor.git at main
========================================
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": "harbor",
"name": "Harbor",
"url": "https://github.com/javiermanzo/Harbor.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Harbor",
"dependencies": [
]
}
]
}
Fetching https://github.com/javiermanzo/Harbor.git
[1/659] Fetching harbor
Fetched https://github.com/javiermanzo/Harbor.git from cache (0.87s)
Creating working copy for https://github.com/javiermanzo/Harbor.git
Working copy of https://github.com/javiermanzo/Harbor.git resolved at main (d132512)
warning: '.resolve-product-dependencies': dependency 'harbor' 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/javiermanzo/Harbor.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/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/17] Compiling Harbor PKCS12.swift
[5/17] Compiling Harbor HmTLS.swift
[6/17] Compiling Harbor HURLSessionDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HURLSessionDelegate.swift:14:17: warning: stored property 'mTLS' of 'Sendable'-conforming class 'HURLSessionDelegate' has non-sendable type 'HmTLS?'; this is an error in the Swift 6 language mode
12 | typealias HChallengeResult = (disposition: URLSession.AuthChallengeDisposition, credential: URLCredential?)
13 |
14 | private let mTLS: HmTLS?
| `- warning: stored property 'mTLS' of 'Sendable'-conforming class 'HURLSessionDelegate' has non-sendable type 'HmTLS?'; this is an error in the Swift 6 language mode
15 | private let sslPinningSHA256: String?
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HmTLS.swift:10:15: note: consider making struct 'HmTLS' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public struct HmTLS {
| `- note: consider making struct 'HmTLS' conform to the 'Sendable' protocol
11 | let p12FileUrl: URL
12 | let password: String
[7/17] Compiling Harbor Harbor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestManager.swift:12:25: warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | internal final class HRequestManager {
12 | internal static var config: HConfig = HConfig()
| |- warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'config' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'config' 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
13 | }
14 |
[8/17] Compiling Harbor NSMutableData-extension.swift
[9/17] Compiling Harbor HDebugRequestProtocol.swift
[10/17] Compiling Harbor HHttpMethod.swift
[11/17] Emitting module Harbor
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestManager.swift:12:25: warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | internal final class HRequestManager {
12 | internal static var config: HConfig = HConfig()
| |- warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'config' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'config' 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
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HURLSessionDelegate.swift:14:17: warning: stored property 'mTLS' of 'Sendable'-conforming class 'HURLSessionDelegate' has non-sendable type 'HmTLS?'; this is an error in the Swift 6 language mode
12 | typealias HChallengeResult = (disposition: URLSession.AuthChallengeDisposition, credential: URLCredential?)
13 |
14 | private let mTLS: HmTLS?
| `- warning: stored property 'mTLS' of 'Sendable'-conforming class 'HURLSessionDelegate' has non-sendable type 'HmTLS?'; this is an error in the Swift 6 language mode
15 | private let sslPinningSHA256: String?
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HmTLS.swift:10:15: note: consider making struct 'HmTLS' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public struct HmTLS {
| `- note: consider making struct 'HmTLS' conform to the 'Sendable' protocol
11 | let p12FileUrl: URL
12 | let password: String
[12/17] Compiling Harbor HRequestProtocol.swift
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestProtocol.swift:46:38: warning: type 'Self.Model' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
44 | public extension HRequestWithResultProtocol {
45 | func request() async -> HResponseWithResult<Model> {
46 | return await HRequestManager.request(model: Model.self, request: self)
| `- warning: type 'Self.Model' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | }
48 |
[13/17] Compiling Harbor HResponse.swift
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestProtocol.swift:46:38: warning: type 'Self.Model' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
44 | public extension HRequestWithResultProtocol {
45 | func request() async -> HResponseWithResult<Model> {
46 | return await HRequestManager.request(model: Model.self, request: self)
| `- warning: type 'Self.Model' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | }
48 |
[14/17] Compiling Harbor HAuthProviderProtocol.swift
[15/17] Compiling Harbor HConfig.swift
[16/17] Compiling Harbor HRequestError.swift
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestManager.swift:12:25: warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | internal final class HRequestManager {
12 | internal static var config: HConfig = HConfig()
| |- warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'config' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'config' 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
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestManager.swift:31:79: warning: sending 'requestCopy' risks causing data races; this is an error in the Swift 6 language mode
29 |
30 | let requestCopy = mutableRequest
31 | async let result = self.requestHandler(model: model, request: requestCopy)
| |- warning: sending 'requestCopy' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'requestCopy' into async let risks causing data races between nonisolated and task-isolated uses
32 | return await result
33 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestManager.swift:37:75: warning: sending 'request' risks causing data races; this is an error in the Swift 6 language mode
35 | }
36 | } else {
37 | async let result = self.requestHandler(model: model, request: request)
| |- warning: sending 'request' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'request' into async let risks causing data races between nonisolated and task-isolated uses
38 | return await result
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestManager.swift:137:65: warning: sending 'requestCopy' risks causing data races; this is an error in the Swift 6 language mode
135 |
136 | let requestCopy = mutableRequest
137 | async let result = self.requestHandler(request: requestCopy)
| |- warning: sending 'requestCopy' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'requestCopy' into async let risks causing data races between nonisolated and task-isolated uses
138 | return await result
139 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestManager.swift:143:61: warning: sending 'request' risks causing data races; this is an error in the Swift 6 language mode
141 | }
142 | } else {
143 | async let result = self.requestHandler(request: request)
| |- warning: sending 'request' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'request' into async let risks causing data races between nonisolated and task-isolated uses
144 | return await result
145 | }
[17/17] Compiling Harbor HRequestManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestManager.swift:12:25: warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | internal final class HRequestManager {
12 | internal static var config: HConfig = HConfig()
| |- warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'config' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'config' 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
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestManager.swift:31:79: warning: sending 'requestCopy' risks causing data races; this is an error in the Swift 6 language mode
29 |
30 | let requestCopy = mutableRequest
31 | async let result = self.requestHandler(model: model, request: requestCopy)
| |- warning: sending 'requestCopy' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'requestCopy' into async let risks causing data races between nonisolated and task-isolated uses
32 | return await result
33 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestManager.swift:37:75: warning: sending 'request' risks causing data races; this is an error in the Swift 6 language mode
35 | }
36 | } else {
37 | async let result = self.requestHandler(model: model, request: request)
| |- warning: sending 'request' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'request' into async let risks causing data races between nonisolated and task-isolated uses
38 | return await result
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestManager.swift:137:65: warning: sending 'requestCopy' risks causing data races; this is an error in the Swift 6 language mode
135 |
136 | let requestCopy = mutableRequest
137 | async let result = self.requestHandler(request: requestCopy)
| |- warning: sending 'requestCopy' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'requestCopy' into async let risks causing data races between nonisolated and task-isolated uses
138 | return await result
139 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Harbor/HRequestManager.swift:143:61: warning: sending 'request' risks causing data races; this is an error in the Swift 6 language mode
141 | }
142 | } else {
143 | async let result = self.requestHandler(request: request)
| |- warning: sending 'request' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'request' into async let risks causing data races between nonisolated and task-isolated uses
144 | return await result
145 | }
[18/18] Compiling Harbor SHA256.swift
[19/26] Compiling HarborJRPC HarborJRPC.swift
/Users/admin/builder/spi-builder-workspace/Sources/HarborJRPC/HJRPCRequestManager.swift:12:16: warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | final class HJRPCRequestManager {
12 | static var config: HJRPCConfig = HJRPCConfig()
| |- warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'config' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'config' 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
13 | }
14 |
[20/26] Compiling HarborJRPC HJSONRPCResponse.swift
[21/26] Compiling HarborJRPC HJRPCResponse.swift
[22/26] Compiling HarborJRPC HJRPCRequestError.swift
[23/26] Compiling HarborJRPC HJRPCRequestManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/HarborJRPC/HJRPCRequestManager.swift:12:16: warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | final class HJRPCRequestManager {
12 | static var config: HJRPCConfig = HJRPCConfig()
| |- warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'config' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'config' 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
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/HarborJRPC/HJRPCRequestManager.swift:22:13: warning: type 'HJRPCRequestWrapper<Model>.Model' (aka 'HJRPCResult<Model>') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
20 |
21 | let harborRequest = request.wrapRequest(type: model)
22 | let response: HResponseWithResult = await harborRequest.request()
| `- warning: type 'HJRPCRequestWrapper<Model>.Model' (aka 'HJRPCResult<Model>') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
23 |
24 | switch response {
/Users/admin/builder/spi-builder-workspace/Sources/HarborJRPC/HJSONRPCResponse.swift:10:8: note: consider making generic struct 'HJRPCResult' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | struct HJRPCResult<Model: Codable>: Codable {
| `- note: consider making generic struct 'HJRPCResult' conform to the 'Sendable' protocol
11 | let id: String?
12 | let result: Model?
[24/26] Compiling HarborJRPC HJRPCConfig.swift
[25/26] Emitting module HarborJRPC
/Users/admin/builder/spi-builder-workspace/Sources/HarborJRPC/HJRPCRequestManager.swift:12:16: warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | final class HJRPCRequestManager {
12 | static var config: HJRPCConfig = HJRPCConfig()
| |- warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'config' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'config' 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
13 | }
14 |
[26/26] Compiling HarborJRPC HJRPCRequestProtocol.swift
/Users/admin/builder/spi-builder-workspace/Sources/HarborJRPC/HJRPCRequestProtocol.swift:24:42: warning: type 'Self.Model' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 | public extension HJRPCRequestProtocol {
23 | func request() async -> HJRPCResponse<Model> {
24 | return await HJRPCRequestManager.request(model: Model.self, request: self)
| `- warning: type 'Self.Model' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
25 | }
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/HarborJRPC/HJRPCRequestManager.swift:12:16: warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | final class HJRPCRequestManager {
12 | static var config: HJRPCConfig = HJRPCConfig()
| |- warning: static property 'config' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'config' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'config' 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
13 | }
14 |
Build complete! (16.89s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Harbor",
"name" : "Harbor",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "Harbor",
"targets" : [
"Harbor"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "HarborJRPC",
"targets" : [
"HarborJRPC"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "HarborTests",
"module_type" : "SwiftTarget",
"name" : "HarborTests",
"path" : "Tests/HarborTests",
"sources" : [
"HarborBodyTests.swift",
"HarborSHA256Tests.swift",
"HarborTests.swift",
"Mocks/MocksRequest.swift"
],
"target_dependencies" : [
"Harbor"
],
"type" : "test"
},
{
"c99name" : "HarborJRPCTests",
"module_type" : "SwiftTarget",
"name" : "HarborJRPCTests",
"path" : "Tests/HarborJRPCTests",
"sources" : [
"HarborJRPCTests.swift"
],
"target_dependencies" : [
"HarborJRPC"
],
"type" : "test"
},
{
"c99name" : "HarborJRPC",
"module_type" : "SwiftTarget",
"name" : "HarborJRPC",
"path" : "Sources/HarborJRPC",
"product_memberships" : [
"HarborJRPC"
],
"sources" : [
"HJRPCConfig.swift",
"HJRPCRequestError.swift",
"HJRPCRequestManager.swift",
"HJRPCRequestProtocol.swift",
"HJRPCResponse.swift",
"HJSONRPCResponse.swift",
"HarborJRPC.swift"
],
"target_dependencies" : [
"Harbor"
],
"type" : "library"
},
{
"c99name" : "Harbor",
"module_type" : "SwiftTarget",
"name" : "Harbor",
"path" : "Sources/Harbor",
"product_memberships" : [
"Harbor",
"HarborJRPC"
],
"sources" : [
"HAuthProviderProtocol.swift",
"HConfig.swift",
"HDebugRequestProtocol.swift",
"HHttpMethod.swift",
"HRequestError.swift",
"HRequestManager.swift",
"HRequestProtocol.swift",
"HResponse.swift",
"HURLSessionDelegate.swift",
"Harbor.swift",
"HmTLS.swift",
"Utils/NSMutableData-extension.swift",
"Utils/PKCS12.swift",
"Utils/SHA256.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Done.