The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Apexy, reference 1.7.5 (ad19a3), with Swift 6.1 for macOS (SPM) on 20 May 2025 15:26:34 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.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.61.6
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/RedMadRobot/apexy-ios.git
Reference: 1.7.5
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/RedMadRobot/apexy-ios
 * tag               1.7.5      -> FETCH_HEAD
HEAD is now at ad19a37 Merge pull request #46 from onl1ner/feature/explicit-host-trust-evaluation
Cloned https://github.com/RedMadRobot/apexy-ios.git
Revision (git rev-parse @):
ad19a372695ef3191c5fb8e70624cb7439224f4d
SUCCESS checkout https://github.com/RedMadRobot/apexy-ios.git at 1.7.5
Fetching https://github.com/Alamofire/Alamofire.git
[1/30140] Fetching alamofire
Fetched https://github.com/Alamofire/Alamofire.git from cache (2.62s)
Computing version for https://github.com/Alamofire/Alamofire.git
Computed https://github.com/Alamofire/Alamofire.git at 5.6.2 (3.23s)
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/1724] Fetching apexy-ios
Fetched https://github.com/RedMadRobot/apexy-ios.git from cache (1.08s)
Fetching https://github.com/Alamofire/Alamofire.git from cache
Fetched https://github.com/Alamofire/Alamofire.git from cache (0.61s)
Computing version for https://github.com/Alamofire/Alamofire.git
Computed https://github.com/Alamofire/Alamofire.git at 5.10.2 (1.11s)
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 1.7.5 (ad19a37)
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.1
Building package at path:  $PWD
https://github.com/RedMadRobot/apexy-ios.git
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.3.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-2F0A5646E1D333AE.txt
[7/50] Compiling Apexy URLRequestBuildable.swift
[8/50] Compiling Alamofire AFError.swift
[9/50] Compiling Alamofire Alamofire.swift
[10/50] Compiling Alamofire AlamofireExtended.swift
[11/50] Compiling Alamofire AuthenticationInterceptor.swift
[12/50] Emitting module Alamofire
[13/53] Compiling Alamofire MultipartUpload.swift
[14/53] Compiling Alamofire NetworkReachabilityManager.swift
[15/53] Compiling Alamofire Notifications.swift
[16/53] Compiling Alamofire OperationQueue+Alamofire.swift
[17/53] Compiling Alamofire StringEncoding+Alamofire.swift
[18/53] Compiling Alamofire URLConvertible+URLRequestConvertible.swift
[19/53] Compiling Alamofire URLEncodedFormEncoder.swift
[20/53] Compiling Alamofire ParameterEncoder.swift
[21/53] Compiling Alamofire ParameterEncoding.swift
[22/53] Compiling Alamofire Protected.swift
[23/53] Compiling Alamofire RedirectHandler.swift
[24/53] Compiling Alamofire CachedResponseHandler.swift
[25/53] Compiling Alamofire Combine.swift
[26/53] Compiling Alamofire Concurrency.swift
[27/53] Compiling Alamofire DispatchQueue+Alamofire.swift
[28/53] Compiling Alamofire EventMonitor.swift
[29/53] Compiling Alamofire HTTPHeaders.swift
[30/53] Compiling Alamofire HTTPMethod.swift
[31/53] Compiling Alamofire MultipartFormData.swift
[32/53] Compiling Apexy UploadEndpoint.swift
[33/53] Compiling Apexy Endpoint.swift
[34/53] Compiling Apexy ConcurrencyClient.swift
[35/53] Compiling Apexy Client.swift
[36/53] Emitting module Apexy
[37/53] Compiling Apexy APIResult.swift
[38/53] Compiling Apexy CombineClient.swift
[39/53] Compiling Apexy ResponseObserver.swift
[40/53] Compiling Apexy HTTPBody.swift
[41/53] Compiling Alamofire ServerTrustEvaluation.swift
[42/53] Compiling Alamofire Session.swift
[43/53] Compiling Alamofire SessionDelegate.swift
[44/53] Compiling Alamofire ResponseSerialization.swift
[45/53] Compiling Alamofire Result+Alamofire.swift
[46/53] Compiling Alamofire RetryPolicy.swift
[47/53] Compiling Alamofire Request.swift
[48/53] Compiling Alamofire RequestInterceptor.swift
[49/53] Compiling Alamofire RequestTaskMap.swift
[50/53] Compiling Alamofire Response.swift
[51/63] Compiling Alamofire URLRequest+Alamofire.swift
[52/63] Compiling Alamofire URLSessionConfiguration+Alamofire.swift
[53/63] Compiling Alamofire Validation.swift
[54/67] Compiling ApexyLoader WebLoader.swift
[55/67] Compiling ApexyLoader ObservableLoader.swift
[56/67] Emitting module ApexyLoader
[57/67] Compiling ApexyLoader LoaderObservation.swift
[58/67] Compiling ApexyLoader LoadingState.swift
[59/67] Compiling ApexyLoader ContentLoader.swift
[60/67] Compiling ApexyURLSession BaseRequestAdapter.swift
[61/67] 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()
[62/67] 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 |
[63/67] 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
 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
 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
  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
 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
 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
    |                 `- 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
  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
 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
 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
    |                 `- 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
 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
 87 |             }
 88 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:85:40: warning: reference to captured var 'request' in concurrently-executing code
 83 |             })
 84 |             self.completionQueue.async {
 85 |                 self.responseObserver?(request, response as? HTTPURLResponse, data, error)
    |                                        `- warning: reference to captured var 'request' in concurrently-executing code
 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
  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
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
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
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
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
    |                 `- 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
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
115 |             }
116 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyURLSession/URLSessionClient.swift:113:40: warning: mutation of captured var 'request' in concurrently-executing code
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
114 |                 completionHandler(result)
115 |             }
[64/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 'result'
   |             |                                   `- 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 'result'
   |             |                                   `- note: closure captures non-Sendable 'dataResponse'
   |             `- note: closure captures non-Sendable 'self'
78 |         }
79 |
[65/67] Compiling ApexyAlamofire AlamofireClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:125:25: warning: capture of 'self' with non-sendable type 'AlamofireClient' in a '@Sendable' closure
 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.
    :
123 |
124 |                     self.completionQueue.async {
125 |                         self.responseObserver?(response.request, response.response, response.data, result.error)
    |                         `- warning: capture of 'self' with non-sendable type 'AlamofireClient' in a '@Sendable' closure
126 |                         completionHandler(result)
127 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:125:48: warning: capture of 'response' with non-sendable type 'DataResponse<Data, AFError>' in a '@Sendable' closure
123 |
124 |                     self.completionQueue.async {
125 |                         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
126 |                         completionHandler(result)
127 |                     }
/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:125:100: warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a '@Sendable' closure
123 |
124 |                     self.completionQueue.async {
125 |                         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
126 |                         completionHandler(result)
127 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:126:25: warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
124 |                     self.completionQueue.async {
125 |                         self.responseObserver?(response.request, response.response, response.data, result.error)
126 |                         completionHandler(result)
    |                         |- warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
127 |                     }
128 |             })
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:131:60: warning: capture of 'request' with non-sendable type 'DataRequest?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
129 |
130 |         let progress = request.downloadProgress
131 |         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
132 |         return progress
133 |     }
/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:175:21: warning: capture of 'self' with non-sendable type 'AlamofireClient' in a '@Sendable' closure
 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.
    :
173 |
174 |                 self.completionQueue.async {
175 |                     self.responseObserver?(response.request, response.response, response.data, result.error)
    |                     `- warning: capture of 'self' with non-sendable type 'AlamofireClient' in a '@Sendable' closure
176 |                     completionHandler(result)
177 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:175:44: warning: capture of 'response' with non-sendable type 'DataResponse<Data, AFError>' in a '@Sendable' closure
173 |
174 |                 self.completionQueue.async {
175 |                     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
176 |                     completionHandler(result)
177 |                 }
/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:175:96: warning: capture of 'result' with non-sendable type 'APIResult<T.Content>' (aka 'Result<T.Content, any Error>') in a '@Sendable' closure
173 |
174 |                 self.completionQueue.async {
175 |                     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
176 |                     completionHandler(result)
177 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:176:21: warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
174 |                 self.completionQueue.async {
175 |                     self.responseObserver?(response.request, response.response, response.data, result.error)
176 |                     completionHandler(result)
    |                     |- warning: capture of 'completionHandler' with non-sendable type '(APIResult<T.Content>) -> Void' (aka '(Result<T.Content, any Error>) -> ()') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
177 |                 }
178 |             })
/Users/admin/builder/spi-builder-workspace/Sources/ApexyAlamofire/AlamofireClient.swift:181:60: warning: capture of 'request' with non-sendable type 'UploadRequest?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
179 |
180 |         let progress = request.uploadProgress
181 |         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
182 |         return progress
183 |     }
/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 {
[66/67] Compiling ApexyAlamofire BaseRequestInterceptor.swift
[67/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
Build complete! (8.24s)
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.