Build Information
Successful build of Disruptive, reference 2.0.0 (2fe973
), with Swift 6.1 for macOS (SPM) on 26 Apr 2025 14:25:29 UTC.
Swift 6 data race errors: 5
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.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/vegather/Disruptive.git
Reference: 2.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/vegather/Disruptive
* tag 2.0.0 -> FETCH_HEAD
HEAD is now at 2fe9734 Link tweaks
Cloned https://github.com/vegather/Disruptive.git
Revision (git rev-parse @):
2fe9734bb6362e982f99a72087128d5805e51499
SUCCESS checkout https://github.com/vegather/Disruptive.git at 2.0.0
========================================
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": "disruptive",
"name": "Disruptive",
"url": "https://github.com/vegather/Disruptive.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Disruptive",
"dependencies": [
]
}
]
}
Fetching https://github.com/vegather/Disruptive.git
[1/6130] Fetching disruptive
Fetched https://github.com/vegather/Disruptive.git from cache (1.03s)
Creating working copy for https://github.com/vegather/Disruptive.git
Working copy of https://github.com/vegather/Disruptive.git resolved at 2.0.0 (2fe9734)
warning: '.resolve-product-dependencies': dependency 'disruptive' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/vegather/Disruptive.git
https://github.com/vegather/Disruptive.git
{
"dependencies" : [
],
"manifest_display_name" : "Disruptive",
"name" : "Disruptive",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "Disruptive",
"targets" : [
"Disruptive"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "DisruptiveTests",
"module_type" : "SwiftTarget",
"name" : "DisruptiveTests",
"path" : "Tests/DisruptiveTests",
"sources" : [
"DisruptiveTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Disruptive"
],
"type" : "test"
},
{
"c99name" : "Disruptive",
"module_type" : "SwiftTarget",
"name" : "Disruptive",
"path" : "Sources/Disruptive",
"product_memberships" : [
"Disruptive"
],
"sources" : [
"Disruptive.swift",
"Helpers/Authentication.swift",
"Helpers/DTLog.swift",
"Helpers/Diagnostics.swift",
"Helpers/Errors.swift",
"Helpers/EventTypes.swift",
"Helpers/JWT.swift",
"Helpers/NetworkTypes.swift",
"Helpers/Requests.swift",
"Helpers/RetryScheme.swift",
"Helpers/ServerSentEvents.swift",
"Helpers/Utils.swift",
"Resources/Device.swift",
"Resources/Event.swift",
"Resources/Organization.swift",
"Resources/Permissions.swift",
"Resources/Project.swift",
"Resources/Stream.swift"
],
"type" : "library"
}
],
"tools_version" : "5.3"
}
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/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/20] Compiling Disruptive Project.swift
[4/20] Compiling Disruptive Organization.swift
[5/20] Compiling Disruptive Permissions.swift
[6/20] Compiling Disruptive Device.swift
[7/20] Compiling Disruptive Event.swift
[8/20] Compiling Disruptive Requests.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:108:24: warning: static property 'defaultSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
106 | extension Request {
107 | /// Creates a URL session with a 20 second timeout
108 | private static var defaultSession: URLSession = {
| |- warning: static property 'defaultSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultSession' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 | let config = URLSessionConfiguration.default
110 | config.timeoutIntervalForRequest = 20
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:161:25: warning: capture of 'completion' with non-sendable type '(Result<T, DisruptiveError>) -> ()' in a '@Sendable' closure
159 | DTLog("Request to \(urlString) resulted in error: \(dtErr)")
160 | DispatchQueue.main.async {
161 | completion(.failure(dtErr))
| |- warning: capture of 'completion' with non-sendable type '(Result<T, DisruptiveError>) -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
162 | }
163 | return
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:147:13: warning: mutation of captured var 'diagnostics' in concurrently-executing code
145 |
146 | let task = Request.defaultSession.dataTask(with: urlReq) { data, response, error in
147 | diagnostics.setNetworkEnd()
| `- warning: mutation of captured var 'diagnostics' in concurrently-executing code
148 |
149 | let urlString = urlReq.url!.absoluteString
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:172:65: warning: capture of 'completion' with non-sendable type '(Result<T, DisruptiveError>) -> ()' in a '@Sendable' closure
170 | // Dispatch the same request again after waiting
171 | DispatchQueue.global().asyncAfter(deadline: .now() + .seconds(retryAfter)) {
172 | self.send(decoder: decoder, completion: completion)
| |- warning: capture of 'completion' with non-sendable type '(Result<T, DisruptiveError>) -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
173 | }
174 |
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:191:17: warning: reference to captured var 'diagnostics' in concurrently-executing code
189 | // to the `Decodable` protocol
190 | if T.self == EmptyResponse.self {
191 | diagnostics.logDiagnostics(responseData: nil)
| `- warning: reference to captured var 'diagnostics' in concurrently-executing code
192 | DispatchQueue.main.async {
193 | completion(.success(EmptyResponse() as! T))
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:198:13: warning: mutation of captured var 'diagnostics' in concurrently-executing code
196 | }
197 |
198 | diagnostics.setParseStart()
| `- warning: mutation of captured var 'diagnostics' in concurrently-executing code
199 |
200 | // Parse the returned data
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:209:13: warning: mutation of captured var 'diagnostics' in concurrently-executing code
207 | }
208 |
209 | diagnostics.setParseEnd()
| `- warning: mutation of captured var 'diagnostics' in concurrently-executing code
210 | diagnostics.logDiagnostics(responseData: data)
211 |
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:210:13: warning: reference to captured var 'diagnostics' in concurrently-executing code
208 |
209 | diagnostics.setParseEnd()
210 | diagnostics.logDiagnostics(responseData: data)
| `- warning: reference to captured var 'diagnostics' in concurrently-executing code
211 |
212 | DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:138:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
136 | DTLog("Failed to create URLRequest from request: \(self)", isError: true)
137 | DispatchQueue.main.async {
138 | completion(.failure(.unknownError))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
139 | }
140 | return
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:425:37: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
423 | // This was the last page
424 | DispatchQueue.main.async {
425 | completion(.success(updatedResultsArray))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
426 | }
427 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:425:57: warning: sending 'updatedResultsArray' risks causing data races; this is an error in the Swift 6 language mode
423 | // This was the last page
424 | DispatchQueue.main.async {
425 | completion(.success(updatedResultsArray))
| |- warning: sending 'updatedResultsArray' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'updatedResultsArray' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
426 | }
427 | } else {
[9/20] Compiling Disruptive RetryScheme.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:108:24: warning: static property 'defaultSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
106 | extension Request {
107 | /// Creates a URL session with a 20 second timeout
108 | private static var defaultSession: URLSession = {
| |- warning: static property 'defaultSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultSession' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 | let config = URLSessionConfiguration.default
110 | config.timeoutIntervalForRequest = 20
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:161:25: warning: capture of 'completion' with non-sendable type '(Result<T, DisruptiveError>) -> ()' in a '@Sendable' closure
159 | DTLog("Request to \(urlString) resulted in error: \(dtErr)")
160 | DispatchQueue.main.async {
161 | completion(.failure(dtErr))
| |- warning: capture of 'completion' with non-sendable type '(Result<T, DisruptiveError>) -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
162 | }
163 | return
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:147:13: warning: mutation of captured var 'diagnostics' in concurrently-executing code
145 |
146 | let task = Request.defaultSession.dataTask(with: urlReq) { data, response, error in
147 | diagnostics.setNetworkEnd()
| `- warning: mutation of captured var 'diagnostics' in concurrently-executing code
148 |
149 | let urlString = urlReq.url!.absoluteString
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:172:65: warning: capture of 'completion' with non-sendable type '(Result<T, DisruptiveError>) -> ()' in a '@Sendable' closure
170 | // Dispatch the same request again after waiting
171 | DispatchQueue.global().asyncAfter(deadline: .now() + .seconds(retryAfter)) {
172 | self.send(decoder: decoder, completion: completion)
| |- warning: capture of 'completion' with non-sendable type '(Result<T, DisruptiveError>) -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
173 | }
174 |
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:191:17: warning: reference to captured var 'diagnostics' in concurrently-executing code
189 | // to the `Decodable` protocol
190 | if T.self == EmptyResponse.self {
191 | diagnostics.logDiagnostics(responseData: nil)
| `- warning: reference to captured var 'diagnostics' in concurrently-executing code
192 | DispatchQueue.main.async {
193 | completion(.success(EmptyResponse() as! T))
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:198:13: warning: mutation of captured var 'diagnostics' in concurrently-executing code
196 | }
197 |
198 | diagnostics.setParseStart()
| `- warning: mutation of captured var 'diagnostics' in concurrently-executing code
199 |
200 | // Parse the returned data
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:209:13: warning: mutation of captured var 'diagnostics' in concurrently-executing code
207 | }
208 |
209 | diagnostics.setParseEnd()
| `- warning: mutation of captured var 'diagnostics' in concurrently-executing code
210 | diagnostics.logDiagnostics(responseData: data)
211 |
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:210:13: warning: reference to captured var 'diagnostics' in concurrently-executing code
208 |
209 | diagnostics.setParseEnd()
210 | diagnostics.logDiagnostics(responseData: data)
| `- warning: reference to captured var 'diagnostics' in concurrently-executing code
211 |
212 | DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:138:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
136 | DTLog("Failed to create URLRequest from request: \(self)", isError: true)
137 | DispatchQueue.main.async {
138 | completion(.failure(.unknownError))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
139 | }
140 | return
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:425:37: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
423 | // This was the last page
424 | DispatchQueue.main.async {
425 | completion(.success(updatedResultsArray))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
426 | }
427 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:425:57: warning: sending 'updatedResultsArray' risks causing data races; this is an error in the Swift 6 language mode
423 | // This was the last page
424 | DispatchQueue.main.async {
425 | completion(.success(updatedResultsArray))
| |- warning: sending 'updatedResultsArray' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'updatedResultsArray' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
426 | }
427 | } else {
[10/20] Compiling Disruptive ServerSentEvents.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/ServerSentEvents.swift:14:24: warning: static property 'sseConfig' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public class ServerSentEvents: NSObject {
14 | private static var sseConfig: URLSessionConfiguration = {
| |- warning: static property 'sseConfig' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'sseConfig' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'sseConfig' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | let config = URLSessionConfiguration.default
16 | config.timeoutIntervalForRequest = .greatestFiniteMagnitude
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/ServerSentEvents.swift:13:14: warning: non-final class 'ServerSentEvents' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
11 | // Reference: https://www.w3.org/TR/eventsource/
12 |
13 | public class ServerSentEvents: NSObject {
| `- warning: non-final class 'ServerSentEvents' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
14 | private static var sseConfig: URLSessionConfiguration = {
15 | let config = URLSessionConfiguration.default
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/ServerSentEvents.swift:28:17: warning: stored property 'session' of 'Sendable'-conforming class 'ServerSentEvents' is mutable; this is an error in the Swift 6 language mode
26 | }()
27 |
28 | private var session: URLSession!
| `- warning: stored property 'session' of 'Sendable'-conforming class 'ServerSentEvents' is mutable; this is an error in the Swift 6 language mode
29 | private var task: URLSessionTask?
30 | private let request: Request
[11/20] Compiling Disruptive Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/ServerSentEvents.swift:14:24: warning: static property 'sseConfig' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public class ServerSentEvents: NSObject {
14 | private static var sseConfig: URLSessionConfiguration = {
| |- warning: static property 'sseConfig' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'sseConfig' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'sseConfig' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | let config = URLSessionConfiguration.default
16 | config.timeoutIntervalForRequest = .greatestFiniteMagnitude
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/ServerSentEvents.swift:13:14: warning: non-final class 'ServerSentEvents' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
11 | // Reference: https://www.w3.org/TR/eventsource/
12 |
13 | public class ServerSentEvents: NSObject {
| `- warning: non-final class 'ServerSentEvents' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
14 | private static var sseConfig: URLSessionConfiguration = {
15 | let config = URLSessionConfiguration.default
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/ServerSentEvents.swift:28:17: warning: stored property 'session' of 'Sendable'-conforming class 'ServerSentEvents' is mutable; this is an error in the Swift 6 language mode
26 | }()
27 |
28 | private var session: URLSession!
| `- warning: stored property 'session' of 'Sendable'-conforming class 'ServerSentEvents' is mutable; this is an error in the Swift 6 language mode
29 | private var task: URLSessionTask?
30 | private let request: Request
[12/20] Compiling Disruptive Errors.swift
[13/20] Compiling Disruptive EventTypes.swift
[14/20] Compiling Disruptive DTLog.swift
[15/20] Compiling Disruptive Diagnostics.swift
[16/20] Compiling Disruptive Disruptive.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Disruptive.swift:31:23: warning: static property 'loggingEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
29 |
30 | /// Whether or not the DisruptiveAPI should log to the console. Defaults to `false`
31 | public static var loggingEnabled = false
| |- warning: static property 'loggingEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'loggingEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'loggingEnabled' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 |
33 | /// The authentication mechanism used by `Disruptive`. This will be
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Authentication.swift:258:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
256 | DTLog("OAuth2 authentication successful")
257 | DispatchQueue.main.async {
258 | self?.auth = Auth(
| |- 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
259 | token: "Bearer \(response.accessToken)",
260 | expirationDate: Date(timeIntervalSinceNow: TimeInterval(response.expiresIn))
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Authentication.swift:262:29: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
260 | expirationDate: Date(timeIntervalSinceNow: TimeInterval(response.expiresIn))
261 | )
262 | completion(.success(()))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
263 | }
264 | case .failure(let e):
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Authentication.swift:267:29: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
265 | DTLog("OAuth2 authentication failed with error: \(e)")
266 | DispatchQueue.main.async {
267 | completion(.failure(e))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
268 | }
269 | }
[17/20] Compiling Disruptive Authentication.swift
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Disruptive.swift:31:23: warning: static property 'loggingEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
29 |
30 | /// Whether or not the DisruptiveAPI should log to the console. Defaults to `false`
31 | public static var loggingEnabled = false
| |- warning: static property 'loggingEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'loggingEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'loggingEnabled' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 |
33 | /// The authentication mechanism used by `Disruptive`. This will be
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Authentication.swift:258:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
256 | DTLog("OAuth2 authentication successful")
257 | DispatchQueue.main.async {
258 | self?.auth = Auth(
| |- 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
259 | token: "Bearer \(response.accessToken)",
260 | expirationDate: Date(timeIntervalSinceNow: TimeInterval(response.expiresIn))
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Authentication.swift:262:29: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
260 | expirationDate: Date(timeIntervalSinceNow: TimeInterval(response.expiresIn))
261 | )
262 | completion(.success(()))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
263 | }
264 | case .failure(let e):
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Authentication.swift:267:29: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
265 | DTLog("OAuth2 authentication failed with error: \(e)")
266 | DispatchQueue.main.async {
267 | completion(.failure(e))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
268 | }
269 | }
[18/20] Emitting module Disruptive
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Disruptive.swift:31:23: warning: static property 'loggingEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
29 |
30 | /// Whether or not the DisruptiveAPI should log to the console. Defaults to `false`
31 | public static var loggingEnabled = false
| |- warning: static property 'loggingEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'loggingEnabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'loggingEnabled' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 |
33 | /// The authentication mechanism used by `Disruptive`. This will be
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/Requests.swift:108:24: warning: static property 'defaultSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
106 | extension Request {
107 | /// Creates a URL session with a 20 second timeout
108 | private static var defaultSession: URLSession = {
| |- warning: static property 'defaultSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultSession' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 | let config = URLSessionConfiguration.default
110 | config.timeoutIntervalForRequest = 20
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/ServerSentEvents.swift:14:24: warning: static property 'sseConfig' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | public class ServerSentEvents: NSObject {
14 | private static var sseConfig: URLSessionConfiguration = {
| |- warning: static property 'sseConfig' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'sseConfig' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'sseConfig' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | let config = URLSessionConfiguration.default
16 | config.timeoutIntervalForRequest = .greatestFiniteMagnitude
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/ServerSentEvents.swift:13:14: warning: non-final class 'ServerSentEvents' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
11 | // Reference: https://www.w3.org/TR/eventsource/
12 |
13 | public class ServerSentEvents: NSObject {
| `- warning: non-final class 'ServerSentEvents' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
14 | private static var sseConfig: URLSessionConfiguration = {
15 | let config = URLSessionConfiguration.default
/Users/admin/builder/spi-builder-workspace/Sources/Disruptive/Helpers/ServerSentEvents.swift:28:17: warning: stored property 'session' of 'Sendable'-conforming class 'ServerSentEvents' is mutable; this is an error in the Swift 6 language mode
26 | }()
27 |
28 | private var session: URLSession!
| `- warning: stored property 'session' of 'Sendable'-conforming class 'ServerSentEvents' is mutable; this is an error in the Swift 6 language mode
29 | private var task: URLSessionTask?
30 | private let request: Request
[19/20] Compiling Disruptive JWT.swift
[20/20] Compiling Disruptive NetworkTypes.swift
[21/21] Compiling Disruptive Stream.swift
Build complete! (6.54s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Disruptive",
"name" : "Disruptive",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "Disruptive",
"targets" : [
"Disruptive"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "DisruptiveTests",
"module_type" : "SwiftTarget",
"name" : "DisruptiveTests",
"path" : "Tests/DisruptiveTests",
"sources" : [
"DisruptiveTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Disruptive"
],
"type" : "test"
},
{
"c99name" : "Disruptive",
"module_type" : "SwiftTarget",
"name" : "Disruptive",
"path" : "Sources/Disruptive",
"product_memberships" : [
"Disruptive"
],
"sources" : [
"Disruptive.swift",
"Helpers/Authentication.swift",
"Helpers/DTLog.swift",
"Helpers/Diagnostics.swift",
"Helpers/Errors.swift",
"Helpers/EventTypes.swift",
"Helpers/JWT.swift",
"Helpers/NetworkTypes.swift",
"Helpers/Requests.swift",
"Helpers/RetryScheme.swift",
"Helpers/ServerSentEvents.swift",
"Helpers/Utils.swift",
"Resources/Device.swift",
"Resources/Event.swift",
"Resources/Organization.swift",
"Resources/Permissions.swift",
"Resources/Project.swift",
"Resources/Stream.swift"
],
"type" : "library"
}
],
"tools_version" : "5.3"
}
Done.