Build Information
Successful build of SwiftApiAdapter, reference v1.2.12 (0485cc
), with Swift 6.1 for macOS (SPM) on 30 Apr 2025 11:10:40 UTC.
Swift 6 data race errors: 1
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.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/RayKitajima/SwiftApiAdapter.git
Reference: v1.2.12
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/RayKitajima/SwiftApiAdapter
* tag v1.2.12 -> FETCH_HEAD
HEAD is now at 0485ccd feat: retrieve pageTitile in case .page
Cloned https://github.com/RayKitajima/SwiftApiAdapter.git
Revision (git rev-parse @):
0485ccd736edb8d1f361edb08343c26472258934
SUCCESS checkout https://github.com/RayKitajima/SwiftApiAdapter.git at v1.2.12
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/RayKitajima/SwiftApiAdapter.git
https://github.com/RayKitajima/SwiftApiAdapter.git
{
"dependencies" : [
{
"identity" : "swiftsoup",
"requirement" : {
"range" : [
{
"lower_bound" : "2.7.2",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/scinfu/SwiftSoup"
},
{
"identity" : "swiftyjson",
"requirement" : {
"range" : [
{
"lower_bound" : "5.0.2",
"upper_bound" : "6.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/SwiftyJSON/SwiftyJSON"
}
],
"manifest_display_name" : "SwiftApiAdapter",
"name" : "SwiftApiAdapter",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
}
],
"products" : [
{
"name" : "SwiftApiAdapter",
"targets" : [
"SwiftApiAdapter"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftApiAdapterTests",
"module_type" : "SwiftTarget",
"name" : "SwiftApiAdapterTests",
"path" : "Tests/SwiftApiAdapterTests",
"sources" : [
"ApiConnectorManagerTests.swift",
"ApiContentLoaderTests.swift",
"ApiContentTests.swift",
"ApiRequesterTests.swift"
],
"target_dependencies" : [
"SwiftApiAdapter"
],
"type" : "test"
},
{
"c99name" : "SwiftApiAdapter",
"module_type" : "SwiftTarget",
"name" : "SwiftApiAdapter",
"path" : "Sources/SwiftApiAdapter",
"product_dependencies" : [
"SwiftSoup",
"SwiftyJSON"
],
"product_memberships" : [
"SwiftApiAdapter"
],
"sources" : [
"Connector.swift",
"Loader.swift",
"Model.swift",
"Tools.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
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/5] Write sources
[0/5] Copying PrivacyInfo.xcprivacy
[0/5] Write sources
[4/5] Write swift-version-2F0A5646E1D333AE.txt
[6/63] Emitting module SwiftSoup
[7/69] Compiling SwiftSoup UnfairLock.swift
[8/69] Compiling SwiftSoup UnicodeScalar.swift
[9/69] Compiling SwiftSoup Validate.swift
[10/69] Compiling SwiftSoup Whitelist.swift
[11/69] Compiling SwiftSoup XmlDeclaration.swift
[12/69] Compiling SwiftSoup XmlTreeBuilder.swift
[13/69] Compiling SwiftSoup HtmlTreeBuilderState.swift
[14/69] Compiling SwiftSoup HttpStatusException.swift
[15/69] Compiling SwiftSoup Mutex.swift
[16/69] Compiling SwiftSoup Node.swift
[17/69] Compiling SwiftSoup NodeTraversor.swift
[18/69] Compiling SwiftSoup NodeVisitor.swift
[19/69] Compiling SwiftSoup Token.swift
[20/69] Compiling SwiftSoup TokenQueue.swift
[21/69] Compiling SwiftSoup Tokeniser.swift
[22/69] Compiling SwiftSoup TokeniserState.swift
[23/69] Compiling SwiftSoup TreeBuilder.swift
[24/69] Compiling SwiftSoup UTF8Arrays.swift
[25/69] Compiling SwiftSoup Pattern.swift
[26/69] Compiling SwiftSoup QueryParser.swift
[27/69] Compiling SwiftSoup SerializationException.swift
[28/69] Compiling SwiftSoup SimpleDictionary.swift
[29/69] Compiling SwiftSoup StreamReader.swift
[30/69] Compiling SwiftSoup String.swift
[31/69] Compiling SwiftSoup CharacterReader.swift
[32/69] Compiling SwiftSoup Cleaner.swift
[33/69] Compiling SwiftSoup Collector.swift
[34/69] Compiling SwiftSoup CombiningEvaluator.swift
[35/69] Compiling SwiftSoup Comment.swift
[36/69] Compiling SwiftSoup Connection.swift
[37/69] Compiling SwiftSoup OrderedSet.swift
[38/69] Compiling SwiftSoup ParseError.swift
[39/69] Compiling SwiftSoup ParseErrorList.swift
[40/69] Compiling SwiftSoup ParseSettings.swift
[41/69] Compiling SwiftSoup Parser.swift
[42/69] Compiling SwiftSoup ParsingStrings.swift
[43/69] Compiling SwiftSoup StringBuilder.swift
[44/69] Compiling SwiftSoup StringUtil.swift
[45/69] Compiling SwiftSoup StructuralEvaluator.swift
[46/69] Compiling SwiftSoup SwiftSoup.swift
[47/69] Compiling SwiftSoup Tag.swift
[48/69] Compiling SwiftSoup TextNode.swift
[49/69] Compiling SwiftSoup Elements.swift
[50/69] Compiling SwiftSoup Entities.swift
[51/69] Compiling SwiftSoup Evaluator.swift
[52/69] Compiling SwiftSoup Exception.swift
[53/69] Compiling SwiftSoup FormElement.swift
[54/69] Compiling SwiftSoup HtmlTreeBuilder.swift
[55/69] Compiling SwiftSoup CssSelector.swift
[56/69] Compiling SwiftSoup DataNode.swift
[57/69] Compiling SwiftSoup DataUtil.swift
[58/69] Compiling SwiftSoup Document.swift
[59/69] Compiling SwiftSoup DocumentType.swift
[60/69] Compiling SwiftSoup Element.swift
[61/69] Compiling SwiftSoup ArrayExt.swift
[62/69] Compiling SwiftSoup Attribute.swift
[63/69] Compiling SwiftSoup Attributes.swift
[64/69] Compiling SwiftSoup BinarySearch.swift
[65/69] Compiling SwiftSoup BooleanAttribute.swift
[66/69] Compiling SwiftSoup CharacterExt.swift
[67/69] Compiling SwiftyJSON SwiftyJSON.swift
[68/69] Compiling SwiftyJSON resource_bundle_accessor.swift
[69/69] Emitting module SwiftyJSON
[70/74] Compiling SwiftApiAdapter Tools.swift
[71/74] Compiling SwiftApiAdapter Connector.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftApiAdapter/Connector.swift:9:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ApiConnectorManager' may have shared mutable state; this is an error in the Swift 6 language mode
6 | let DEFAULT_USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"
7 |
8 | public class ApiConnectorManager: ObservableObject {
| `- note: class 'ApiConnectorManager' does not conform to the 'Sendable' protocol
9 | public static let shared = ApiConnectorManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ApiConnectorManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | private init(){}
11 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftApiAdapter/Connector.swift:107:13: warning: capture of 'self' with non-sendable type 'ApiExecutionQueue' in a '@Sendable' closure
96 | }
97 |
98 | public class ApiExecutionQueue {
| `- note: class 'ApiExecutionQueue' does not conform to the 'Sendable' protocol
99 | private var dispatchQueue = DispatchQueue(label: "SwiftApiAdapter.ApiExecutionQueue")
100 | private var queue: [ApiRequest] = []
:
105 | }
106 | dispatchQueue.async {
107 | self.queue.append(request)
| `- warning: capture of 'self' with non-sendable type 'ApiExecutionQueue' in a '@Sendable' closure
108 | }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftApiAdapter/Connector.swift:107:31: warning: capture of 'request' with non-sendable type 'ApiRequest' in a '@Sendable' closure
64 | }
65 |
66 | public struct ApiRequest {
| `- note: consider making struct 'ApiRequest' conform to the 'Sendable' protocol
67 | let requestData: Data
68 | let continuation: CheckedContinuation<ApiResponse, Never>
:
105 | }
106 | dispatchQueue.async {
107 | self.queue.append(request)
| `- warning: capture of 'request' with non-sendable type 'ApiRequest' in a '@Sendable' closure
108 | }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftApiAdapter/Connector.swift:116:13: warning: capture of 'self' with non-sendable type 'ApiExecutionQueue' in a '@Sendable' closure
96 | }
97 |
98 | public class ApiExecutionQueue {
| `- note: class 'ApiExecutionQueue' does not conform to the 'Sendable' protocol
99 | private var dispatchQueue = DispatchQueue(label: "SwiftApiAdapter.ApiExecutionQueue")
100 | private var queue: [ApiRequest] = []
:
114 | }
115 | dispatchQueue.async {
116 | self.queue.insert(request, at: 0)
| `- warning: capture of 'self' with non-sendable type 'ApiExecutionQueue' in a '@Sendable' closure
117 | }
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftApiAdapter/Connector.swift:116:31: warning: capture of 'request' with non-sendable type 'ApiRequest' in a '@Sendable' closure
64 | }
65 |
66 | public struct ApiRequest {
| `- note: consider making struct 'ApiRequest' conform to the 'Sendable' protocol
67 | let requestData: Data
68 | let continuation: CheckedContinuation<ApiResponse, Never>
:
114 | }
115 | dispatchQueue.async {
116 | self.queue.insert(request, at: 0)
| `- warning: capture of 'request' with non-sendable type 'ApiRequest' in a '@Sendable' closure
117 | }
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftApiAdapter/Connector.swift:138:13: warning: capture of 'self' with non-sendable type 'ApiExecutionQueue' in a '@Sendable' closure
96 | }
97 |
98 | public class ApiExecutionQueue {
| `- note: class 'ApiExecutionQueue' does not conform to the 'Sendable' protocol
99 | private var dispatchQueue = DispatchQueue(label: "SwiftApiAdapter.ApiExecutionQueue")
100 | private var queue: [ApiRequest] = []
:
136 | func clear() {
137 | dispatchQueue.async {
138 | self.queue.removeAll()
| `- warning: capture of 'self' with non-sendable type 'ApiExecutionQueue' in a '@Sendable' closure
139 | }
140 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftApiAdapter/Connector.swift:289:13: warning: capture of 'goNextRequest' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
287 | self.cumulativeExecuted += 1
288 | }
289 | goNextRequest?()
| |- warning: capture of 'goNextRequest' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
290 | }
291 | task.resume()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftApiAdapter/Connector.swift:52:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
50 | public func initTransaction() {
51 | DispatchQueue.main.async {
52 | self.executor.cumulativeRequested = 0
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
53 | self.executor.cumulativeExecuted = 0
54 | }
[72/74] Compiling SwiftApiAdapter Loader.swift
[73/74] Compiling SwiftApiAdapter Model.swift
[74/74] Emitting module SwiftApiAdapter
/Users/admin/builder/spi-builder-workspace/Sources/SwiftApiAdapter/Connector.swift:9:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ApiConnectorManager' may have shared mutable state; this is an error in the Swift 6 language mode
6 | let DEFAULT_USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"
7 |
8 | public class ApiConnectorManager: ObservableObject {
| `- note: class 'ApiConnectorManager' does not conform to the 'Sendable' protocol
9 | public static let shared = ApiConnectorManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ApiConnectorManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 | private init(){}
11 |
Build complete! (13.41s)
Fetching https://github.com/scinfu/SwiftSoup
Fetching https://github.com/SwiftyJSON/SwiftyJSON
[1/3908] Fetching swiftsoup
[1604/10034] Fetching swiftsoup, swiftyjson
Fetched https://github.com/SwiftyJSON/SwiftyJSON from cache (1.41s)
Fetched https://github.com/scinfu/SwiftSoup from cache (1.41s)
Computing version for https://github.com/SwiftyJSON/SwiftyJSON
Computed https://github.com/SwiftyJSON/SwiftyJSON at 5.0.2 (2.33s)
Computing version for https://github.com/scinfu/SwiftSoup
Computed https://github.com/scinfu/SwiftSoup at 2.8.7 (0.44s)
Creating working copy for https://github.com/scinfu/SwiftSoup
Working copy of https://github.com/scinfu/SwiftSoup resolved at 2.8.7
Creating working copy for https://github.com/SwiftyJSON/SwiftyJSON
Working copy of https://github.com/SwiftyJSON/SwiftyJSON resolved at 5.0.2
Build complete.
{
"dependencies" : [
{
"identity" : "swiftsoup",
"requirement" : {
"range" : [
{
"lower_bound" : "2.7.2",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/scinfu/SwiftSoup"
},
{
"identity" : "swiftyjson",
"requirement" : {
"range" : [
{
"lower_bound" : "5.0.2",
"upper_bound" : "6.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/SwiftyJSON/SwiftyJSON"
}
],
"manifest_display_name" : "SwiftApiAdapter",
"name" : "SwiftApiAdapter",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
}
],
"products" : [
{
"name" : "SwiftApiAdapter",
"targets" : [
"SwiftApiAdapter"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftApiAdapterTests",
"module_type" : "SwiftTarget",
"name" : "SwiftApiAdapterTests",
"path" : "Tests/SwiftApiAdapterTests",
"sources" : [
"ApiConnectorManagerTests.swift",
"ApiContentLoaderTests.swift",
"ApiContentTests.swift",
"ApiRequesterTests.swift"
],
"target_dependencies" : [
"SwiftApiAdapter"
],
"type" : "test"
},
{
"c99name" : "SwiftApiAdapter",
"module_type" : "SwiftTarget",
"name" : "SwiftApiAdapter",
"path" : "Sources/SwiftApiAdapter",
"product_dependencies" : [
"SwiftSoup",
"SwiftyJSON"
],
"product_memberships" : [
"SwiftApiAdapter"
],
"sources" : [
"Connector.swift",
"Loader.swift",
"Model.swift",
"Tools.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Done.