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 Apexy, reference master (c7d75f), with Swift 6.0 for macOS (SPM) on 30 Nov 2024 13:06:47 UTC.

Swift 6 data race errors: 0

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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/RedMadRobot/apexy-ios.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/RedMadRobot/apexy-ios
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at c7d75f8 Add session delegate to initializer (#44)
Cloned https://github.com/RedMadRobot/apexy-ios.git
Revision (git rev-parse @):
c7d75f8c39c8ee92a7069669604c5ee0cb46be0f
SUCCESS checkout https://github.com/RedMadRobot/apexy-ios.git at master
Fetching https://github.com/Alamofire/Alamofire.git
[1/30017] Fetching alamofire
Fetched https://github.com/Alamofire/Alamofire.git from cache (3.26s)
Computing version for https://github.com/Alamofire/Alamofire.git
Computed https://github.com/Alamofire/Alamofire.git at 5.6.2 (0.55s)
Creating working copy for https://github.com/Alamofire/Alamofire.git
Working copy of https://github.com/Alamofire/Alamofire.git resolved at 5.6.2
========================================
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": "apexy-ios",
      "name": "Apexy",
      "url": "https://github.com/RedMadRobot/apexy-ios.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/apexy-ios",
      "dependencies": [
        {
          "identity": "alamofire",
          "name": "Alamofire",
          "url": "https://github.com/Alamofire/Alamofire.git",
          "version": "5.10.2",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Alamofire",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/RedMadRobot/apexy-ios.git
[1/1714] Fetching apexy-ios
Fetched https://github.com/RedMadRobot/apexy-ios.git from cache (1.15s)
Fetching https://github.com/Alamofire/Alamofire.git from cache
Fetched https://github.com/Alamofire/Alamofire.git from cache (0.67s)
Computing version for https://github.com/Alamofire/Alamofire.git
Computed https://github.com/Alamofire/Alamofire.git at 5.10.2 (0.43s)
Creating working copy for https://github.com/Alamofire/Alamofire.git
Working copy of https://github.com/Alamofire/Alamofire.git resolved at 5.10.2
Creating working copy for https://github.com/RedMadRobot/apexy-ios.git
Working copy of https://github.com/RedMadRobot/apexy-ios.git resolved at master (c7d75f8)
warning: '.resolve-product-dependencies': dependency 'apexy-ios' is not used by any target
Found 1 product dependencies
  - Alamofire
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/RedMadRobot/apexy-ios.git
{
  "dependencies" : [
    {
      "identity" : "alamofire",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.2.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Alamofire/Alamofire.git"
    }
  ],
  "manifest_display_name" : "Apexy",
  "name" : "Apexy",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "Apexy",
      "targets" : [
        "ApexyURLSession"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ApexyAlamofire",
      "targets" : [
        "ApexyAlamofire"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ApexyLoader",
      "targets" : [
        "ApexyLoader"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ApexyURLSessionTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyURLSessionTests",
      "path" : "Tests/ApexyURLSessionTests",
      "sources" : [
        "BaseRequestAdapterTests.swift",
        "URLSessionClientTests.swift"
      ],
      "target_dependencies" : [
        "ApexyURLSession"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyURLSession",
      "module_type" : "SwiftTarget",
      "name" : "ApexyURLSession",
      "path" : "Sources/ApexyURLSession",
      "product_memberships" : [
        "Apexy"
      ],
      "sources" : [
        "BaseRequestAdapter.swift",
        "URLSessionClient+Concurrency.swift",
        "URLSessionClient.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ApexyTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyTests",
      "path" : "Tests/ApexyTests",
      "sources" : [
        "HTTPBodyTests.swift",
        "URLRequestBuildableTests.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyLoaderTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyLoaderTests",
      "path" : "Tests/ApexyLoaderTests",
      "sources" : [
        "ContentLoaderTests.swift",
        "LoaderObservationTests.swift",
        "LoadingStateTests.swift"
      ],
      "target_dependencies" : [
        "ApexyLoader"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyLoader",
      "module_type" : "SwiftTarget",
      "name" : "ApexyLoader",
      "path" : "Sources/ApexyLoader",
      "product_memberships" : [
        "ApexyLoader"
      ],
      "sources" : [
        "ContentLoader.swift",
        "LoaderObservation.swift",
        "LoadingState.swift",
        "ObservableLoader.swift",
        "WebLoader.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ApexyAlamofireTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyAlamofireTests",
      "path" : "Tests/ApexyAlamofireTests",
      "sources" : [
        "AlamofireClientCombineTests.swift",
        "AlamofireClientTests.swift",
        "BaseRequestInterceptorTests.swift",
        "Helpers/EmptyEndpoint.swift",
        "Helpers/MockURLProtocol.swift",
        "Helpers/SimpleUploadEndpoint.swift"
      ],
      "target_dependencies" : [
        "ApexyAlamofire"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyAlamofire",
      "module_type" : "SwiftTarget",
      "name" : "ApexyAlamofire",
      "path" : "Sources/ApexyAlamofire",
      "product_dependencies" : [
        "Alamofire"
      ],
      "product_memberships" : [
        "ApexyAlamofire"
      ],
      "sources" : [
        "AlamofireClient+Concurrency.swift",
        "AlamofireClient.swift",
        "BaseRequestInterceptor.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Apexy",
      "module_type" : "SwiftTarget",
      "name" : "Apexy",
      "path" : "Sources/Apexy",
      "product_memberships" : [
        "Apexy",
        "ApexyAlamofire",
        "ApexyLoader"
      ],
      "sources" : [
        "APIResult.swift",
        "Client.swift",
        "Clients/CombineClient.swift",
        "Clients/ConcurrencyClient.swift",
        "Endpoint.swift",
        "HTTPBody.swift",
        "ResponseObserver.swift",
        "URLRequestBuildable.swift",
        "UploadEndpoint.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/6] Write sources
[5/6] Write swift-version--7754E27361AE5C74.txt
[7/50] Emitting module Alamofire
[8/53] Compiling Apexy UploadEndpoint.swift
[9/53] Emitting module Apexy
[10/53] Compiling Apexy HTTPBody.swift
[11/53] Compiling Apexy ConcurrencyClient.swift
[12/53] Compiling Apexy ResponseObserver.swift
[13/53] Compiling Apexy Endpoint.swift
[14/53] Compiling Apexy CombineClient.swift
[15/53] Compiling Apexy APIResult.swift
[16/53] Compiling Apexy URLRequestBuildable.swift
[17/53] Compiling Apexy Client.swift
[18/63] Compiling ApexyLoader LoaderObservation.swift
[19/63] Compiling ApexyLoader ObservableLoader.swift
[20/63] Compiling ApexyLoader WebLoader.swift
[21/63] Compiling ApexyLoader LoadingState.swift
[22/63] Emitting module ApexyLoader
[23/63] Compiling ApexyLoader ContentLoader.swift
[24/63] Compiling ApexyURLSession BaseRequestAdapter.swift
[25/63] Compiling ApexyURLSession URLSessionClient+Concurrency.swift
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient+Concurrency.swift:25:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
23 |         }
24 |
25 |     open func request<T>(_ endpoint: T) async throws -> T.Content where T : Endpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
26 |
27 |         var request = try endpoint.makeRequest()
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient+Concurrency.swift:56:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
54 |     }
55 |
56 |     open func upload<T>(_ endpoint: T) async throws -> T.Content where T : UploadEndpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
57 |
58 |         var request: (request: URLRequest, body: UploadEndpointBody) = try endpoint.makeRequest()
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient+Concurrency.swift:43:23: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
41 |         }
42 |
43 |         Task.detached { [weak self, request, responseResult] in
   |                       `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
44 |             self?.observeResponse(request: request, responseResult: responseResult)
   |             `- note: closure captures 'self' which is accessible to code in the current task
45 |         }
46 |
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient+Concurrency.swift:78:23: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
76 |         }
77 |
78 |         Task.detached { [weak self, request, responseResult] in
   |                       `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
79 |             self?.observeResponse(request: request.request, responseResult: responseResult)
   |             |                              `- note: closure captures non-Sendable 'request'
   |             `- note: closure captures non-Sendable 'self'
80 |         }
81 |
[26/63] Emitting module ApexyURLSession
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient+Concurrency.swift:25:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
23 |         }
24 |
25 |     open func request<T>(_ endpoint: T) async throws -> T.Content where T : Endpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
26 |
27 |         var request = try endpoint.makeRequest()
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient+Concurrency.swift:56:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
54 |     }
55 |
56 |     open func upload<T>(_ endpoint: T) async throws -> T.Content where T : UploadEndpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
57 |
58 |         var request: (request: URLRequest, body: UploadEndpointBody) = try endpoint.makeRequest()
[27/63] Compiling ApexyURLSession URLSessionClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:76:25: warning: capture of 'endpoint' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |     }
 59 |
 60 |     open func request<T>(
    |                       `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 61 |         _ endpoint: T,
 62 |         completionHandler: @escaping (APIResult<T.Content>) -> Void) -> Progress where T : Endpoint {
    :
 74 |             let result = APIResult<T.Content>(catching: { () throws -> T.Content in
 75 |                 if let httpResponse = response as? HTTPURLResponse {
 76 |                     try endpoint.validate(request, response: httpResponse, data: data)
    |                         `- warning: capture of 'endpoint' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |                 }
 78 |                 let data = data ?? Data()
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:84:13: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Foundation
  3 |
  4 | open class URLSessionClient: Client, CombineClient {
    |            `- note: class 'URLSessionClient' does not conform to the 'Sendable' protocol
  5 |
  6 |     let session: URLSession
    :
 82 |                 return try endpoint.content(from: response, with: data)
 83 |             })
 84 |             self.completionQueue.async {
    |             `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 85 |                 self.responseObserver?(request, response as? HTTPURLResponse, data, error)
 86 |                 completionHandler(result)
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:86:17: warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 84 |             self.completionQueue.async {
 85 |                 self.responseObserver?(request, response as? HTTPURLResponse, data, error)
 86 |                 completionHandler(result)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 87 |             }
 88 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:76:25: warning: capture of 'endpoint' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 58 |     }
 59 |
 60 |     open func request<T>(
    |                       `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 61 |         _ endpoint: T,
 62 |         completionHandler: @escaping (APIResult<T.Content>) -> Void) -> Progress where T : Endpoint {
    :
 74 |             let result = APIResult<T.Content>(catching: { () throws -> T.Content in
 75 |                 if let httpResponse = response as? HTTPURLResponse {
 76 |                     try endpoint.validate(request, response: httpResponse, data: data)
    |                         `- warning: capture of 'endpoint' with non-sendable type 'T' in an isolated closure; this is an error in the Swift 6 language mode
 77 |                 }
 78 |                 let data = data ?? Data()
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:76:43: warning: reference to captured var 'request' in concurrently-executing code; this is an error in the Swift 6 language mode
 74 |             let result = APIResult<T.Content>(catching: { () throws -> T.Content in
 75 |                 if let httpResponse = response as? HTTPURLResponse {
 76 |                     try endpoint.validate(request, response: httpResponse, data: data)
    |                                           `- warning: reference to captured var 'request' in concurrently-executing code; this is an error in the Swift 6 language mode
 77 |                 }
 78 |                 let data = data ?? Data()
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:85:17: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Foundation
  3 |
  4 | open class URLSessionClient: Client, CombineClient {
    |            `- note: class 'URLSessionClient' does not conform to the 'Sendable' protocol
  5 |
  6 |     let session: URLSession
    :
 83 |             })
 84 |             self.completionQueue.async {
 85 |                 self.responseObserver?(request, response as? HTTPURLResponse, data, error)
    |                 `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 86 |                 completionHandler(result)
 87 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:86:17: warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 84 |             self.completionQueue.async {
 85 |                 self.responseObserver?(request, response as? HTTPURLResponse, data, error)
 86 |                 completionHandler(result)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 87 |             }
 88 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:86:35: warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 84 |             self.completionQueue.async {
 85 |                 self.responseObserver?(request, response as? HTTPURLResponse, data, error)
 86 |                 completionHandler(result)
    |                                   `- warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 87 |             }
 88 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:85:40: warning: reference to captured var 'request' in concurrently-executing code; this is an error in the Swift 6 language mode
 83 |             })
 84 |             self.completionQueue.async {
 85 |                 self.responseObserver?(request, response as? HTTPURLResponse, data, error)
    |                                        `- warning: reference to captured var 'request' in concurrently-executing code; this is an error in the Swift 6 language mode
 86 |                 completionHandler(result)
 87 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:121:85: warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
119 |         switch request {
120 |         case (let request, .data(let data)):
121 |             task = session.uploadTask(with: request, from: data, completionHandler: handler)
    |                                                                                     `- warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
122 |         case (let request, .file(let url)):
123 |             task = session.uploadTask(with: request, fromFile: url, completionHandler: handler)
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:123:88: warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
121 |             task = session.uploadTask(with: request, from: data, completionHandler: handler)
122 |         case (let request, .file(let url)):
123 |             task = session.uploadTask(with: request, fromFile: url, completionHandler: handler)
    |                                                                                        `- warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
124 |         case (_, .stream):
125 |             completionHandler(.failure(URLSessionClientError.uploadStreamUnimplemented))
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:113:17: warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 | import Foundation
  3 |
  4 | open class URLSessionClient: Client, CombineClient {
    |            `- note: class 'URLSessionClient' does not conform to the 'Sendable' protocol
  5 |
  6 |     let session: URLSession
    :
111 |             })
112 |             self.completionQueue.async {
113 |                 self.responseObserver?(request.0, response as? HTTPURLResponse, data, error)
    |                 `- warning: capture of 'self' with non-sendable type 'URLSessionClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
114 |                 completionHandler(result)
115 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:113:40: warning: capture of 'request' with non-sendable type '(URLRequest, UploadEndpointBody)' in a `@Sendable` closure; this is an error in the Swift 6 language mode
111 |             })
112 |             self.completionQueue.async {
113 |                 self.responseObserver?(request.0, response as? HTTPURLResponse, data, error)
    |                                        `- warning: capture of 'request' with non-sendable type '(URLRequest, UploadEndpointBody)' in a `@Sendable` closure; this is an error in the Swift 6 language mode
114 |                 completionHandler(result)
115 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Apexy/UploadEndpoint.swift:10:13: note: enum 'UploadEndpointBody' does not conform to the 'Sendable' protocol
 8 |
 9 | /// Type of uploadable content
10 | public enum UploadEndpointBody {
   |             `- note: enum 'UploadEndpointBody' does not conform to the 'Sendable' protocol
11 |     case data(Data)
12 |     case file(URL)
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Apexy'
  1 | import Apexy
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Apexy'
  2 | import Foundation
  3 |
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:114:17: warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             self.completionQueue.async {
113 |                 self.responseObserver?(request.0, response as? HTTPURLResponse, data, error)
114 |                 completionHandler(result)
    |                 |- warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
115 |             }
116 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:114:35: warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 |             self.completionQueue.async {
113 |                 self.responseObserver?(request.0, response as? HTTPURLResponse, data, error)
114 |                 completionHandler(result)
    |                                   `- warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 |             }
116 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:113:40: warning: mutation of captured var 'request' in concurrently-executing code; this is an error in the Swift 6 language mode
111 |             })
112 |             self.completionQueue.async {
113 |                 self.responseObserver?(request.0, response as? HTTPURLResponse, data, error)
    |                                        `- warning: mutation of captured var 'request' in concurrently-executing code; this is an error in the Swift 6 language mode
114 |                 completionHandler(result)
115 |             }
[28/63] Compiling Alamofire URLRequest+Alamofire.swift
[29/63] Compiling Alamofire URLSessionConfiguration+Alamofire.swift
[30/63] Compiling Alamofire Validation.swift
[31/63] Compiling Alamofire StringEncoding+Alamofire.swift
[32/63] Compiling Alamofire URLConvertible+URLRequestConvertible.swift
[33/63] Compiling Alamofire URLEncodedFormEncoder.swift
[34/63] Compiling Alamofire ParameterEncoder.swift
[35/63] Compiling Alamofire ParameterEncoding.swift
[36/63] Compiling Alamofire Protected.swift
[37/63] Compiling Alamofire RedirectHandler.swift
[38/63] Compiling Alamofire ResponseSerialization.swift
[39/63] Compiling Alamofire Result+Alamofire.swift
[40/63] Compiling Alamofire RetryPolicy.swift
[41/63] Compiling Alamofire CachedResponseHandler.swift
[42/63] Compiling Alamofire Combine.swift
[43/63] Compiling Alamofire Concurrency.swift
[44/63] Compiling Alamofire DispatchQueue+Alamofire.swift
[45/63] Compiling Alamofire EventMonitor.swift
[46/63] Compiling Alamofire HTTPHeaders.swift
[47/63] Compiling Alamofire HTTPMethod.swift
[48/63] Compiling Alamofire MultipartFormData.swift
[49/63] Compiling Alamofire AFError.swift
[50/63] Compiling Alamofire Alamofire.swift
[51/63] Compiling Alamofire AlamofireExtended.swift
[52/63] Compiling Alamofire AuthenticationInterceptor.swift
[53/63] Compiling Alamofire MultipartUpload.swift
[54/63] Compiling Alamofire NetworkReachabilityManager.swift
[55/63] Compiling Alamofire Notifications.swift
[56/63] Compiling Alamofire OperationQueue+Alamofire.swift
[57/63] Compiling Alamofire Request.swift
[58/63] Compiling Alamofire RequestInterceptor.swift
[59/63] Compiling Alamofire RequestTaskMap.swift
[60/63] Compiling Alamofire Response.swift
[61/63] Compiling Alamofire ServerTrustEvaluation.swift
[62/63] Compiling Alamofire Session.swift
[63/63] Compiling Alamofire SessionDelegate.swift
[64/67] Compiling ApexyAlamofire BaseRequestInterceptor.swift
[65/67] Compiling ApexyAlamofire AlamofireClient+Concurrency.swift
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient+Concurrency.swift:25:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
23 |         }
24 |
25 |     open func request<T>(_ endpoint: T) async throws -> T.Content where T : Endpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
26 |
27 |         let anyRequest = AnyRequest(create: endpoint.makeRequest)
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient+Concurrency.swift:50:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
48 |     }
49 |
50 |     open func upload<T>(_ endpoint: T) async throws -> T.Content where T : UploadEndpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
51 |
52 |         let urlRequest: URLRequest
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient+Concurrency.swift:43:23: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
41 |         })
42 |
43 |         Task.detached { [weak self, dataResponse, result] in
   |                       `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
44 |             self?.observeResponse(dataResponse: dataResponse, error: result.error)
   |             |                                   `- note: closure captures non-Sendable 'dataResponse'
   |             `- note: closure captures non-Sendable 'self'
45 |         }
46 |
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient+Concurrency.swift:76:23: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
74 |         })
75 |
76 |         Task.detached { [weak self, dataResponse, result] in
   |                       `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
77 |             self?.observeResponse(dataResponse: dataResponse, error: result.error)
   |             |                                   `- note: closure captures non-Sendable 'dataResponse'
   |             `- note: closure captures non-Sendable 'self'
78 |         }
79 |
[66/67] Emitting module ApexyAlamofire
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient+Concurrency.swift:25:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
23 |         }
24 |
25 |     open func request<T>(_ endpoint: T) async throws -> T.Content where T : Endpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
26 |
27 |         let anyRequest = AnyRequest(create: endpoint.makeRequest)
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient+Concurrency.swift:50:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
48 |     }
49 |
50 |     open func upload<T>(_ endpoint: T) async throws -> T.Content where T : UploadEndpoint {
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
51 |
52 |         let urlRequest: URLRequest
[67/67] Compiling ApexyAlamofire AlamofireClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:122:25: warning: capture of 'self' with non-sendable type 'AlamofireClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 11 |
 12 | /// API Client.
 13 | open class AlamofireClient: Client, CombineClient {
    |            `- note: class 'AlamofireClient' does not conform to the 'Sendable' protocol
 14 |
 15 |     /// Session network manager.
    :
120 |
121 |                     self.completionQueue.async {
122 |                         self.responseObserver?(response.request, response.response, response.data, result.error)
    |                         `- warning: capture of 'self' with non-sendable type 'AlamofireClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                         completionHandler(result)
124 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:122:48: warning: capture of 'response' with non-sendable type 'DataResponse<Data, AFError>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |
121 |                     self.completionQueue.async {
122 |                         self.responseObserver?(response.request, response.response, response.data, result.error)
    |                                                `- warning: capture of 'response' with non-sendable type 'DataResponse<Data, AFError>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                         completionHandler(result)
124 |                     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Alamofire/Source/Response.swift:33:15: note: generic struct 'DataResponse' does not conform to the 'Sendable' protocol
 31 |
 32 | /// Type used to store all values associated with a serialized response of a `DataRequest` or `UploadRequest`.
 33 | public struct DataResponse<Success, Failure: Error> {
    |               `- note: generic struct 'DataResponse' does not conform to the 'Sendable' protocol
 34 |     /// The URL request sent to the server.
 35 |     public let request: URLRequest?
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Alamofire'
  6 | //
  7 |
  8 | import Alamofire
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Alamofire'
  9 | import Apexy
 10 | import Foundation
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:122:100: warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
120 |
121 |                     self.completionQueue.async {
122 |                         self.responseObserver?(response.request, response.response, response.data, result.error)
    |                                                                                                    `- warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
123 |                         completionHandler(result)
124 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:123:25: warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |                     self.completionQueue.async {
122 |                         self.responseObserver?(response.request, response.response, response.data, result.error)
123 |                         completionHandler(result)
    |                         |- warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
124 |                     }
125 |             })
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:128:60: warning: capture of 'request' with non-sendable type 'DataRequest?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
126 |
127 |         let progress = request.downloadProgress
128 |         progress.cancellationHandler = { [weak request] in request?.cancel() }
    |                                                            `- warning: capture of 'request' with non-sendable type 'DataRequest?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
129 |         return progress
130 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Alamofire/Source/Request.swift:1084:14: note: class 'DataRequest' does not conform to the 'Sendable' protocol
1082 |
1083 | /// `Request` subclass which handles in-memory `Data` download using `URLSessionDataTask`.
1084 | public class DataRequest: Request {
     |              `- note: class 'DataRequest' does not conform to the 'Sendable' protocol
1085 |     /// `URLRequestConvertible` value used to create `URLRequest`s for this instance.
1086 |     public let convertible: URLRequestConvertible
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:172:21: warning: capture of 'self' with non-sendable type 'AlamofireClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 11 |
 12 | /// API Client.
 13 | open class AlamofireClient: Client, CombineClient {
    |            `- note: class 'AlamofireClient' does not conform to the 'Sendable' protocol
 14 |
 15 |     /// Session network manager.
    :
170 |
171 |                 self.completionQueue.async {
172 |                     self.responseObserver?(response.request, response.response, response.data, result.error)
    |                     `- warning: capture of 'self' with non-sendable type 'AlamofireClient' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 |                     completionHandler(result)
174 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:172:44: warning: capture of 'response' with non-sendable type 'DataResponse<Data, AFError>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
170 |
171 |                 self.completionQueue.async {
172 |                     self.responseObserver?(response.request, response.response, response.data, result.error)
    |                                            `- warning: capture of 'response' with non-sendable type 'DataResponse<Data, AFError>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 |                     completionHandler(result)
174 |                 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Alamofire/Source/Response.swift:33:15: note: generic struct 'DataResponse' does not conform to the 'Sendable' protocol
 31 |
 32 | /// Type used to store all values associated with a serialized response of a `DataRequest` or `UploadRequest`.
 33 | public struct DataResponse<Success, Failure: Error> {
    |               `- note: generic struct 'DataResponse' does not conform to the 'Sendable' protocol
 34 |     /// The URL request sent to the server.
 35 |     public let request: URLRequest?
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:172:96: warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
170 |
171 |                 self.completionQueue.async {
172 |                     self.responseObserver?(response.request, response.response, response.data, result.error)
    |                                                                                                `- warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 |                     completionHandler(result)
174 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:173:21: warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
171 |                 self.completionQueue.async {
172 |                     self.responseObserver?(response.request, response.response, response.data, result.error)
173 |                     completionHandler(result)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
174 |                 }
175 |             })
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:178:60: warning: capture of 'request' with non-sendable type 'UploadRequest?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
176 |
177 |         let progress = request.uploadProgress
178 |         progress.cancellationHandler = { [weak request] in request?.cancel() }
    |                                                            `- warning: capture of 'request' with non-sendable type 'UploadRequest?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
179 |         return progress
180 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Alamofire/Source/Request.swift:1766:14: note: class 'UploadRequest' does not conform to the 'Sendable' protocol
1764 |
1765 | /// `DataRequest` subclass which handles `Data` upload from memory, file, or stream using `URLSessionUploadTask`.
1766 | public class UploadRequest: DataRequest {
     |              `- note: class 'UploadRequest' does not conform to the 'Sendable' protocol
1767 |     /// Type describing the origin of the upload, whether `Data`, file, or stream.
1768 |     public enum Uploadable {
Build complete! (29.32s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "alamofire",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.2.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Alamofire/Alamofire.git"
    }
  ],
  "manifest_display_name" : "Apexy",
  "name" : "Apexy",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "Apexy",
      "targets" : [
        "ApexyURLSession"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ApexyAlamofire",
      "targets" : [
        "ApexyAlamofire"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ApexyLoader",
      "targets" : [
        "ApexyLoader"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ApexyURLSessionTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyURLSessionTests",
      "path" : "Tests/ApexyURLSessionTests",
      "sources" : [
        "BaseRequestAdapterTests.swift",
        "URLSessionClientTests.swift"
      ],
      "target_dependencies" : [
        "ApexyURLSession"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyURLSession",
      "module_type" : "SwiftTarget",
      "name" : "ApexyURLSession",
      "path" : "Sources/ApexyURLSession",
      "product_memberships" : [
        "Apexy"
      ],
      "sources" : [
        "BaseRequestAdapter.swift",
        "URLSessionClient+Concurrency.swift",
        "URLSessionClient.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ApexyTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyTests",
      "path" : "Tests/ApexyTests",
      "sources" : [
        "HTTPBodyTests.swift",
        "URLRequestBuildableTests.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyLoaderTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyLoaderTests",
      "path" : "Tests/ApexyLoaderTests",
      "sources" : [
        "ContentLoaderTests.swift",
        "LoaderObservationTests.swift",
        "LoadingStateTests.swift"
      ],
      "target_dependencies" : [
        "ApexyLoader"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyLoader",
      "module_type" : "SwiftTarget",
      "name" : "ApexyLoader",
      "path" : "Sources/ApexyLoader",
      "product_memberships" : [
        "ApexyLoader"
      ],
      "sources" : [
        "ContentLoader.swift",
        "LoaderObservation.swift",
        "LoadingState.swift",
        "ObservableLoader.swift",
        "WebLoader.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ApexyAlamofireTests",
      "module_type" : "SwiftTarget",
      "name" : "ApexyAlamofireTests",
      "path" : "Tests/ApexyAlamofireTests",
      "sources" : [
        "AlamofireClientCombineTests.swift",
        "AlamofireClientTests.swift",
        "BaseRequestInterceptorTests.swift",
        "Helpers/EmptyEndpoint.swift",
        "Helpers/MockURLProtocol.swift",
        "Helpers/SimpleUploadEndpoint.swift"
      ],
      "target_dependencies" : [
        "ApexyAlamofire"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApexyAlamofire",
      "module_type" : "SwiftTarget",
      "name" : "ApexyAlamofire",
      "path" : "Sources/ApexyAlamofire",
      "product_dependencies" : [
        "Alamofire"
      ],
      "product_memberships" : [
        "ApexyAlamofire"
      ],
      "sources" : [
        "AlamofireClient+Concurrency.swift",
        "AlamofireClient.swift",
        "BaseRequestInterceptor.swift"
      ],
      "target_dependencies" : [
        "Apexy"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Apexy",
      "module_type" : "SwiftTarget",
      "name" : "Apexy",
      "path" : "Sources/Apexy",
      "product_memberships" : [
        "Apexy",
        "ApexyAlamofire",
        "ApexyLoader"
      ],
      "sources" : [
        "APIResult.swift",
        "Client.swift",
        "Clients/CombineClient.swift",
        "Clients/ConcurrencyClient.swift",
        "Endpoint.swift",
        "HTTPBody.swift",
        "ResponseObserver.swift",
        "URLRequestBuildable.swift",
        "UploadEndpoint.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Done.