The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

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.