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.