Build Information
Successful build of Plug, reference master (7b9957
), with Swift 6.1 for macOS (SPM) on 25 Apr 2025 00:10:09 UTC.
Swift 6 data race errors: 12
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/bengottlieb/plug.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/bengottlieb/plug
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 7b99575 Merge branch 'master' of github.com:bengottlieb/Plug
Cloned https://github.com/bengottlieb/plug.git
Revision (git rev-parse @):
7b9957582db26aed7eaef3fdbd2061c28c7595cf
SUCCESS checkout https://github.com/bengottlieb/plug.git at master
========================================
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": "plug",
"name": "Plug",
"url": "https://github.com/bengottlieb/plug.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/plug",
"dependencies": [
]
}
]
}
Fetching https://github.com/bengottlieb/plug.git
[1/2773] Fetching plug
Fetched https://github.com/bengottlieb/plug.git from cache (1.28s)
Creating working copy for https://github.com/bengottlieb/plug.git
Working copy of https://github.com/bengottlieb/plug.git resolved at master (7b99575)
warning: '.resolve-product-dependencies': dependency 'plug' 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/bengottlieb/plug.git
https://github.com/bengottlieb/plug.git
{
"dependencies" : [
],
"manifest_display_name" : "Plug",
"name" : "Plug",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Plug",
"targets" : [
"Plug"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Plug",
"module_type" : "SwiftTarget",
"name" : "Plug",
"path" : "Source/Plug",
"product_memberships" : [
"Plug"
],
"sources" : [
"Codable+Additions.swift",
"ConnectionLog.swift",
"ConnectionLogViewController.swift",
"HTTPCookie+Plug.swift",
"Incoming.swift",
"JSONStringify.swift",
"NSURLRequest+Plug.swift",
"Plug+iOS.swift",
"Plug.ConnectionData.swift",
"Plug.Headers.swift",
"Plug.swift",
"PlugChannel.swift",
"PlugConnection.swift",
"PlugCredentials.swift",
"PlugErrors.swift",
"PlugImageConnection.swift",
"PlugJSON.swift",
"PlugJSONConnection.swift",
"PlugParameters.swift",
"PlugPersistence.swift",
"PlugProtocols.swift",
"Reachability.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
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/23] Emitting module Plug
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:66:20: warning: static property 'connectionType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
64 |
65 | public static let instance = Plug()
66 | public static var connectionType = ConnectionType.wifi //let's try starting off optimistically
| |- warning: static property 'connectionType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'connectionType' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'connectionType' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 | public static var online: Bool { return self.connectionType != .offline }
68 | public static var logAllConnections = false { didSet {
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:68:20: warning: static property 'logAllConnections' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
66 | public static var connectionType = ConnectionType.wifi //let's try starting off optimistically
67 | public static var online: Bool { return self.connectionType != .offline }
68 | public static var logAllConnections = false { didSet {
| |- warning: static property 'logAllConnections' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logAllConnections' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'logAllConnections' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
69 | if self.logAllConnections, self.log == nil {
70 | self.log = ConnectionLog()
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:75:20: warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
73 | }
74 | }}
75 | public static var log: ConnectionLog?
| |- warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'log' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'log' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 |
77 | public struct notifications {
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:30:14: warning: non-final class 'Plug' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public class Plug: NSObject, URLSessionDelegate {
| `- warning: non-final class 'Plug' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
31 | public enum ConnectionType: Int { case offline, wifi, cellular }
32 | public enum Method: String, CustomStringConvertible, Codable { case GET = "GET", POST = "POST", DELETE = "DELETE", PUT = "PUT", PATCH = "PATCH", HEAD = "HEAD"
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:42:6: warning: stored property 'backgroundActivityHandler' of 'Sendable'-conforming class 'Plug' is mutable; this is an error in the Swift 6 language mode
40 | }
41 |
42 | var backgroundActivityHandler: BackgroundActivityHandlerProtocol?
| `- warning: stored property 'backgroundActivityHandler' of 'Sendable'-conforming class 'Plug' is mutable; this is an error in the Swift 6 language mode
43 | var networkActivityIndicator: ActivityIndicatorProtocol?
44 |
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugChannel.swift:24:21: warning: static property 'defaultChannel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | public enum PauseReason: Int { case manual, offline, backgrounding }
23 |
24 | public static var defaultChannel: Channel = { return Channel(name: "default", maxSimultaneousConnections: 1)! }()
| |- warning: static property 'defaultChannel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultChannel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultChannel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | public static var resourceChannel: Channel = { return Channel(name: "resources", maxSimultaneousConnections: 50)! }()
26 |
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugChannel.swift:25:21: warning: static property 'resourceChannel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
23 |
24 | public static var defaultChannel: Channel = { return Channel(name: "default", maxSimultaneousConnections: 1)! }()
25 | public static var resourceChannel: Channel = { return Channel(name: "resources", maxSimultaneousConnections: 50)! }()
| |- warning: static property 'resourceChannel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'resourceChannel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'resourceChannel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | static var allChannels: [String: Channel] = [:]
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugChannel.swift:27:14: warning: static property 'allChannels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | public static var resourceChannel: Channel = { return Channel(name: "resources", maxSimultaneousConnections: 50)! }()
26 |
27 | static var allChannels: [String: Channel] = [:]
| |- warning: static property 'allChannels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'allChannels' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'allChannels' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |
29 | init?(name chName: String, maxSimultaneousConnections max: Int) {
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugCredentials.swift:12:20: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Credentials' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Credentials {
| `- note: class 'Credentials' does not conform to the 'Sendable' protocol
12 | public static let instance = Credentials()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Credentials' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | var trustedDomains: [String] = []
14 |
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugJSON.swift:435:13: warning: static property 'JSONFormat' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
433 |
434 | public extension Date {
435 | static var JSONFormat = "yyyy-MM-dd HH:mm:ss Z"
| |- warning: static property 'JSONFormat' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'JSONFormat' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'JSONFormat' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | init?(jsonString: String?, format: String = Date.JSONFormat, formats: [String]? = nil, cachedFormatter: DateFormatter? = nil) {
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugPersistence.swift:13:27: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Plug.PersistenceManager' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension Plug {
12 | class PersistenceManager {
| `- note: class 'PersistenceManager' does not conform to the 'Sendable' protocol
13 | public static let instance = PersistenceManager()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Plug.PersistenceManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | public func register(_ object: PlugPersistentDelegate) {
/Users/admin/builder/spi-builder-workspace/Source/Plug/Reachability.swift:15:23: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Reachability?' may have shared mutable state; this is an error in the Swift 6 language mode
12 | public enum ReachabilityError: Error { case unableToSetCallback, unableToSetDispatchQueue, unableToGetInitialFlags }
13 |
14 | public class Reachability {
| `- note: class 'Reachability' does not conform to the 'Sendable' protocol
15 | public static let instance = Reachability()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Reachability?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | static let reachabilityChanged = Notification.Name("reachabilityChanged")
[4/25] Compiling Plug NSURLRequest+Plug.swift
[5/25] Compiling Plug Plug+iOS.swift
[6/25] Compiling Plug PlugProtocols.swift
/Users/admin/builder/spi-builder-workspace/Source/Plug/Reachability.swift:15:23: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Reachability?' may have shared mutable state; this is an error in the Swift 6 language mode
12 | public enum ReachabilityError: Error { case unableToSetCallback, unableToSetDispatchQueue, unableToGetInitialFlags }
13 |
14 | public class Reachability {
| `- note: class 'Reachability' does not conform to the 'Sendable' protocol
15 | public static let instance = Reachability()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Reachability?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | static let reachabilityChanged = Notification.Name("reachabilityChanged")
[7/25] Compiling Plug Reachability.swift
/Users/admin/builder/spi-builder-workspace/Source/Plug/Reachability.swift:15:23: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Reachability?' may have shared mutable state; this is an error in the Swift 6 language mode
12 | public enum ReachabilityError: Error { case unableToSetCallback, unableToSetDispatchQueue, unableToGetInitialFlags }
13 |
14 | public class Reachability {
| `- note: class 'Reachability' does not conform to the 'Sendable' protocol
15 | public static let instance = Reachability()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Reachability?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | static let reachabilityChanged = Notification.Name("reachabilityChanged")
[8/25] Compiling Plug PlugConnection.swift
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:285:37: warning: capture of 'block' with non-sendable type 'PlugCompletionClosure' (aka '(Connection, Plug.ConnectionData) -> ()') in a '@Sendable' closure
283 |
284 | for block in self.completionBlocks {
285 | let op = BlockOperation(block: { block(self, data) })
| |- warning: capture of 'block' with non-sendable type 'PlugCompletionClosure' (aka '(Connection, Plug.ConnectionData) -> ()') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
286 | queue.addOperations([op], waitUntilFinished: false)
287 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:285:43: warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
283 |
284 | for block in self.completionBlocks {
285 | let op = BlockOperation(block: { block(self, data) })
| `- warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
286 | queue.addOperations([op], waitUntilFinished: false)
287 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:285:49: warning: capture of 'data' with non-sendable type 'Plug.ConnectionData' in a '@Sendable' closure
283 |
284 | for block in self.completionBlocks {
285 | let op = BlockOperation(block: { block(self, data) })
| `- warning: capture of 'data' with non-sendable type 'Plug.ConnectionData' in a '@Sendable' closure
286 | queue.addOperations([op], waitUntilFinished: false)
287 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.ConnectionData.swift:20:8: note: class 'ConnectionData' does not conform to the 'Sendable' protocol
18 |
19 | public extension Plug {
20 | class ConnectionData: CustomStringConvertible {
| `- note: class 'ConnectionData' does not conform to the 'Sendable' protocol
21 | public enum JSONObjectType { case dictionary, array }
22 |
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:305:36: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
303 | extension Connection {
304 | @discardableResult public func completion(completion: @escaping PlugCompletionClosure) -> Self {
305 | self.requestQueue.addOperation { self.completionBlocks.append(completion) }
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
306 | return self
307 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:305:65: warning: capture of 'completion' with non-sendable type 'PlugCompletionClosure' (aka '(Connection, Plug.ConnectionData) -> ()') in a '@Sendable' closure
303 | extension Connection {
304 | @discardableResult public func completion(completion: @escaping PlugCompletionClosure) -> Self {
305 | self.requestQueue.addOperation { self.completionBlocks.append(completion) }
| |- warning: capture of 'completion' with non-sendable type 'PlugCompletionClosure' (aka '(Connection, Plug.ConnectionData) -> ()') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
306 | return self
307 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:310:36: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
308 |
309 | @discardableResult public func error(completion: @escaping (Connection, Error) -> Void) -> Self {
310 | self.requestQueue.addOperation { self.errorBlocks.append(completion) }
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
311 | return self
312 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:310:60: warning: capture of 'completion' with non-sendable type '(Connection, any Error) -> Void' in a '@Sendable' closure
308 |
309 | @discardableResult public func error(completion: @escaping (Connection, Error) -> Void) -> Self {
310 | self.requestQueue.addOperation { self.errorBlocks.append(completion) }
| |- warning: capture of 'completion' with non-sendable type '(Connection, any Error) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
311 | return self
312 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:315:36: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
313 |
314 | @discardableResult public func progress(closure: @escaping (Connection, Double) -> Void) -> Self {
315 | self.requestQueue.addOperation { self.progressBlocks.append(closure) }
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
316 | return self
317 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:315:63: warning: capture of 'closure' with non-sendable type '(Connection, Double) -> Void' in a '@Sendable' closure
313 |
314 | @discardableResult public func progress(closure: @escaping (Connection, Double) -> Void) -> Self {
315 | self.requestQueue.addOperation { self.progressBlocks.append(closure) }
| |- warning: capture of 'closure' with non-sendable type '(Connection, Double) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
316 | return self
317 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:492:7: warning: capture of 'data' with non-sendable type 'Plug.ConnectionData?' in a '@Sendable' closure
490 |
491 | self.requestQueue.addOperation {
492 | if data != nil || self.resultsError == nil {
| `- warning: capture of 'data' with non-sendable type 'Plug.ConnectionData?' in a '@Sendable' closure
493 | self.handleDownload(data: data ?? Plug.ConnectionData())
494 | } else {
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.ConnectionData.swift:20:8: note: class 'ConnectionData' does not conform to the 'Sendable' protocol
18 |
19 | public extension Plug {
20 | class ConnectionData: CustomStringConvertible {
| `- note: class 'ConnectionData' does not conform to the 'Sendable' protocol
21 | public enum JSONObjectType { case dictionary, array }
22 |
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:492:22: warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
490 |
491 | self.requestQueue.addOperation {
492 | if data != nil || self.resultsError == nil {
| `- warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
493 | self.handleDownload(data: data ?? Plug.ConnectionData())
494 | } else {
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:492:22: warning: implicit capture of 'self' requires that 'Connection' conforms to 'Sendable'; this is an error in the Swift 6 language mode
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
490 |
491 | self.requestQueue.addOperation {
492 | if data != nil || self.resultsError == nil {
| `- warning: implicit capture of 'self' requires that 'Connection' conforms to 'Sendable'; this is an error in the Swift 6 language mode
493 | self.handleDownload(data: data ?? Plug.ConnectionData())
494 | } else {
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:501:36: warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
499 |
500 | self.subconnections.forEach { $0.complete(state: state, parent: self) }
501 | self.requestQueue.addOperation({ self.notifyPersistentDelegateOfCompletion() })
| `- warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
502 |
503 | if self.state == .completed {
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:515:37: warning: capture of 'block' with non-sendable type '(Connection, any Error) -> Void' in a '@Sendable' closure
513 |
514 | for block in self.errorBlocks {
515 | let op = BlockOperation(block: { block(self, error) })
| |- warning: capture of 'block' with non-sendable type '(Connection, any Error) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
516 | queue.addOperations([op], waitUntilFinished: false)
517 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:515:43: warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
513 |
514 | for block in self.errorBlocks {
515 | let op = BlockOperation(block: { block(self, error) })
| `- warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
516 | queue.addOperations([op], waitUntilFinished: false)
517 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugCredentials.swift:12:20: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Credentials' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Credentials {
| `- note: class 'Credentials' does not conform to the 'Sendable' protocol
12 | public static let instance = Credentials()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Credentials' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | var trustedDomains: [String] = []
14 |
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:175:5: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
173 | if Plug.instance.autostartConnections {
174 | DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.5) {
175 | self.start()
| |- 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
176 | }
177 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:432:31: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
430 | self.setupTimer(withTimeOut: timeout)
431 | } else {
432 | DispatchQueue.main.sync { self.setupTimer(withTimeOut: timeout) }
| |- 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
433 | }
434 | }
[9/25] Compiling Plug PlugCredentials.swift
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:285:37: warning: capture of 'block' with non-sendable type 'PlugCompletionClosure' (aka '(Connection, Plug.ConnectionData) -> ()') in a '@Sendable' closure
283 |
284 | for block in self.completionBlocks {
285 | let op = BlockOperation(block: { block(self, data) })
| |- warning: capture of 'block' with non-sendable type 'PlugCompletionClosure' (aka '(Connection, Plug.ConnectionData) -> ()') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
286 | queue.addOperations([op], waitUntilFinished: false)
287 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:285:43: warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
283 |
284 | for block in self.completionBlocks {
285 | let op = BlockOperation(block: { block(self, data) })
| `- warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
286 | queue.addOperations([op], waitUntilFinished: false)
287 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:285:49: warning: capture of 'data' with non-sendable type 'Plug.ConnectionData' in a '@Sendable' closure
283 |
284 | for block in self.completionBlocks {
285 | let op = BlockOperation(block: { block(self, data) })
| `- warning: capture of 'data' with non-sendable type 'Plug.ConnectionData' in a '@Sendable' closure
286 | queue.addOperations([op], waitUntilFinished: false)
287 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.ConnectionData.swift:20:8: note: class 'ConnectionData' does not conform to the 'Sendable' protocol
18 |
19 | public extension Plug {
20 | class ConnectionData: CustomStringConvertible {
| `- note: class 'ConnectionData' does not conform to the 'Sendable' protocol
21 | public enum JSONObjectType { case dictionary, array }
22 |
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:305:36: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
303 | extension Connection {
304 | @discardableResult public func completion(completion: @escaping PlugCompletionClosure) -> Self {
305 | self.requestQueue.addOperation { self.completionBlocks.append(completion) }
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
306 | return self
307 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:305:65: warning: capture of 'completion' with non-sendable type 'PlugCompletionClosure' (aka '(Connection, Plug.ConnectionData) -> ()') in a '@Sendable' closure
303 | extension Connection {
304 | @discardableResult public func completion(completion: @escaping PlugCompletionClosure) -> Self {
305 | self.requestQueue.addOperation { self.completionBlocks.append(completion) }
| |- warning: capture of 'completion' with non-sendable type 'PlugCompletionClosure' (aka '(Connection, Plug.ConnectionData) -> ()') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
306 | return self
307 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:310:36: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
308 |
309 | @discardableResult public func error(completion: @escaping (Connection, Error) -> Void) -> Self {
310 | self.requestQueue.addOperation { self.errorBlocks.append(completion) }
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
311 | return self
312 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:310:60: warning: capture of 'completion' with non-sendable type '(Connection, any Error) -> Void' in a '@Sendable' closure
308 |
309 | @discardableResult public func error(completion: @escaping (Connection, Error) -> Void) -> Self {
310 | self.requestQueue.addOperation { self.errorBlocks.append(completion) }
| |- warning: capture of 'completion' with non-sendable type '(Connection, any Error) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
311 | return self
312 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:315:36: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
313 |
314 | @discardableResult public func progress(closure: @escaping (Connection, Double) -> Void) -> Self {
315 | self.requestQueue.addOperation { self.progressBlocks.append(closure) }
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
316 | return self
317 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:315:63: warning: capture of 'closure' with non-sendable type '(Connection, Double) -> Void' in a '@Sendable' closure
313 |
314 | @discardableResult public func progress(closure: @escaping (Connection, Double) -> Void) -> Self {
315 | self.requestQueue.addOperation { self.progressBlocks.append(closure) }
| |- warning: capture of 'closure' with non-sendable type '(Connection, Double) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
316 | return self
317 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:492:7: warning: capture of 'data' with non-sendable type 'Plug.ConnectionData?' in a '@Sendable' closure
490 |
491 | self.requestQueue.addOperation {
492 | if data != nil || self.resultsError == nil {
| `- warning: capture of 'data' with non-sendable type 'Plug.ConnectionData?' in a '@Sendable' closure
493 | self.handleDownload(data: data ?? Plug.ConnectionData())
494 | } else {
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.ConnectionData.swift:20:8: note: class 'ConnectionData' does not conform to the 'Sendable' protocol
18 |
19 | public extension Plug {
20 | class ConnectionData: CustomStringConvertible {
| `- note: class 'ConnectionData' does not conform to the 'Sendable' protocol
21 | public enum JSONObjectType { case dictionary, array }
22 |
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:492:22: warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
490 |
491 | self.requestQueue.addOperation {
492 | if data != nil || self.resultsError == nil {
| `- warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
493 | self.handleDownload(data: data ?? Plug.ConnectionData())
494 | } else {
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:492:22: warning: implicit capture of 'self' requires that 'Connection' conforms to 'Sendable'; this is an error in the Swift 6 language mode
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
490 |
491 | self.requestQueue.addOperation {
492 | if data != nil || self.resultsError == nil {
| `- warning: implicit capture of 'self' requires that 'Connection' conforms to 'Sendable'; this is an error in the Swift 6 language mode
493 | self.handleDownload(data: data ?? Plug.ConnectionData())
494 | } else {
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:501:36: warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
499 |
500 | self.subconnections.forEach { $0.complete(state: state, parent: self) }
501 | self.requestQueue.addOperation({ self.notifyPersistentDelegateOfCompletion() })
| `- warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
502 |
503 | if self.state == .completed {
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:515:37: warning: capture of 'block' with non-sendable type '(Connection, any Error) -> Void' in a '@Sendable' closure
513 |
514 | for block in self.errorBlocks {
515 | let op = BlockOperation(block: { block(self, error) })
| |- warning: capture of 'block' with non-sendable type '(Connection, any Error) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
516 | queue.addOperations([op], waitUntilFinished: false)
517 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:515:43: warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
:
513 |
514 | for block in self.errorBlocks {
515 | let op = BlockOperation(block: { block(self, error) })
| `- warning: capture of 'self' with non-sendable type 'Connection' in a '@Sendable' closure
516 | queue.addOperations([op], waitUntilFinished: false)
517 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugCredentials.swift:12:20: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Credentials' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class Credentials {
| `- note: class 'Credentials' does not conform to the 'Sendable' protocol
12 | public static let instance = Credentials()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Credentials' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | var trustedDomains: [String] = []
14 |
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:175:5: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
173 | if Plug.instance.autostartConnections {
174 | DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.5) {
175 | self.start()
| |- 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
176 | }
177 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:432:31: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
430 | self.setupTimer(withTimeOut: timeout)
431 | } else {
432 | DispatchQueue.main.sync { self.setupTimer(withTimeOut: timeout) }
| |- 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
433 | }
434 | }
[10/25] Compiling Plug HTTPCookie+Plug.swift
[11/25] Compiling Plug Incoming.swift
[12/25] Compiling Plug JSONStringify.swift
[13/25] Compiling Plug PlugParameters.swift
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugPersistence.swift:13:27: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Plug.PersistenceManager' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension Plug {
12 | class PersistenceManager {
| `- note: class 'PersistenceManager' does not conform to the 'Sendable' protocol
13 | public static let instance = PersistenceManager()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Plug.PersistenceManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | public func register(_ object: PlugPersistentDelegate) {
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugPersistence.swift:37:8: warning: capture of 'self' with non-sendable type 'Plug.PersistenceManager' in a '@Sendable' closure
10 |
11 | public extension Plug {
12 | class PersistenceManager {
| `- note: class 'PersistenceManager' does not conform to the 'Sendable' protocol
13 | public static let instance = PersistenceManager()
14 |
:
35 | func register(_ connection: Connection) {
36 | self.queue.addOperation {
37 | if self.persistentConnections.firstIndex(of: connection) == nil {
| `- warning: capture of 'self' with non-sendable type 'Plug.PersistenceManager' in a '@Sendable' closure
38 | self.persistentConnections.append(connection)
39 | self.queuePersistentConnectionSave()
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugPersistence.swift:37:50: warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
35 | func register(_ connection: Connection) {
36 | self.queue.addOperation {
37 | if self.persistentConnections.firstIndex(of: connection) == nil {
| `- warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
38 | self.persistentConnections.append(connection)
39 | self.queuePersistentConnectionSave()
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:16:14: note: class 'Connection' does not conform to the 'Sendable' protocol
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugPersistence.swift:46:20: warning: capture of 'self' with non-sendable type 'Plug.PersistenceManager' in a '@Sendable' closure
10 |
11 | public extension Plug {
12 | class PersistenceManager {
| `- note: class 'PersistenceManager' does not conform to the 'Sendable' protocol
13 | public static let instance = PersistenceManager()
14 |
:
44 | func unregister(_ connection: Connection) {
45 | self.queue.addOperation {
46 | if let index = self.persistentConnections.firstIndex(of: connection) {
| `- warning: capture of 'self' with non-sendable type 'Plug.PersistenceManager' in a '@Sendable' closure
47 | self.persistentConnections.remove(at: index)
48 | self.queuePersistentConnectionSave()
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugPersistence.swift:46:62: warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
44 | func unregister(_ connection: Connection) {
45 | self.queue.addOperation {
46 | if let index = self.persistentConnections.firstIndex(of: connection) {
| `- warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
47 | self.persistentConnections.remove(at: index)
48 | self.queuePersistentConnectionSave()
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:16:14: note: class 'Connection' does not conform to the 'Sendable' protocol
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
[14/25] Compiling Plug PlugPersistence.swift
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugPersistence.swift:13:27: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Plug.PersistenceManager' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension Plug {
12 | class PersistenceManager {
| `- note: class 'PersistenceManager' does not conform to the 'Sendable' protocol
13 | public static let instance = PersistenceManager()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'Plug.PersistenceManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 | public func register(_ object: PlugPersistentDelegate) {
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugPersistence.swift:37:8: warning: capture of 'self' with non-sendable type 'Plug.PersistenceManager' in a '@Sendable' closure
10 |
11 | public extension Plug {
12 | class PersistenceManager {
| `- note: class 'PersistenceManager' does not conform to the 'Sendable' protocol
13 | public static let instance = PersistenceManager()
14 |
:
35 | func register(_ connection: Connection) {
36 | self.queue.addOperation {
37 | if self.persistentConnections.firstIndex(of: connection) == nil {
| `- warning: capture of 'self' with non-sendable type 'Plug.PersistenceManager' in a '@Sendable' closure
38 | self.persistentConnections.append(connection)
39 | self.queuePersistentConnectionSave()
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugPersistence.swift:37:50: warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
35 | func register(_ connection: Connection) {
36 | self.queue.addOperation {
37 | if self.persistentConnections.firstIndex(of: connection) == nil {
| `- warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
38 | self.persistentConnections.append(connection)
39 | self.queuePersistentConnectionSave()
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:16:14: note: class 'Connection' does not conform to the 'Sendable' protocol
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugPersistence.swift:46:20: warning: capture of 'self' with non-sendable type 'Plug.PersistenceManager' in a '@Sendable' closure
10 |
11 | public extension Plug {
12 | class PersistenceManager {
| `- note: class 'PersistenceManager' does not conform to the 'Sendable' protocol
13 | public static let instance = PersistenceManager()
14 |
:
44 | func unregister(_ connection: Connection) {
45 | self.queue.addOperation {
46 | if let index = self.persistentConnections.firstIndex(of: connection) {
| `- warning: capture of 'self' with non-sendable type 'Plug.PersistenceManager' in a '@Sendable' closure
47 | self.persistentConnections.remove(at: index)
48 | self.queuePersistentConnectionSave()
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugPersistence.swift:46:62: warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
44 | func unregister(_ connection: Connection) {
45 | self.queue.addOperation {
46 | if let index = self.persistentConnections.firstIndex(of: connection) {
| `- warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
47 | self.persistentConnections.remove(at: index)
48 | self.queuePersistentConnectionSave()
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:16:14: note: class 'Connection' does not conform to the 'Sendable' protocol
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
[15/25] Compiling Plug Plug.swift
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:66:20: warning: static property 'connectionType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
64 |
65 | public static let instance = Plug()
66 | public static var connectionType = ConnectionType.wifi //let's try starting off optimistically
| |- warning: static property 'connectionType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'connectionType' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'connectionType' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 | public static var online: Bool { return self.connectionType != .offline }
68 | public static var logAllConnections = false { didSet {
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:68:20: warning: static property 'logAllConnections' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
66 | public static var connectionType = ConnectionType.wifi //let's try starting off optimistically
67 | public static var online: Bool { return self.connectionType != .offline }
68 | public static var logAllConnections = false { didSet {
| |- warning: static property 'logAllConnections' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logAllConnections' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'logAllConnections' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
69 | if self.logAllConnections, self.log == nil {
70 | self.log = ConnectionLog()
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:75:20: warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
73 | }
74 | }}
75 | public static var log: ConnectionLog?
| |- warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'log' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'log' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 |
77 | public struct notifications {
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:30:14: warning: non-final class 'Plug' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public class Plug: NSObject, URLSessionDelegate {
| `- warning: non-final class 'Plug' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
31 | public enum ConnectionType: Int { case offline, wifi, cellular }
32 | public enum Method: String, CustomStringConvertible, Codable { case GET = "GET", POST = "POST", DELETE = "DELETE", PUT = "PUT", PATCH = "PATCH", HEAD = "HEAD"
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:42:6: warning: stored property 'backgroundActivityHandler' of 'Sendable'-conforming class 'Plug' is mutable; this is an error in the Swift 6 language mode
40 | }
41 |
42 | var backgroundActivityHandler: BackgroundActivityHandlerProtocol?
| `- warning: stored property 'backgroundActivityHandler' of 'Sendable'-conforming class 'Plug' is mutable; this is an error in the Swift 6 language mode
43 | var networkActivityIndicator: ActivityIndicatorProtocol?
44 |
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugChannel.swift:24:21: warning: static property 'defaultChannel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | public enum PauseReason: Int { case manual, offline, backgrounding }
23 |
24 | public static var defaultChannel: Channel = { return Channel(name: "default", maxSimultaneousConnections: 1)! }()
| |- warning: static property 'defaultChannel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultChannel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultChannel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | public static var resourceChannel: Channel = { return Channel(name: "resources", maxSimultaneousConnections: 50)! }()
26 |
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugChannel.swift:25:21: warning: static property 'resourceChannel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
23 |
24 | public static var defaultChannel: Channel = { return Channel(name: "default", maxSimultaneousConnections: 1)! }()
25 | public static var resourceChannel: Channel = { return Channel(name: "resources", maxSimultaneousConnections: 50)! }()
| |- warning: static property 'resourceChannel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'resourceChannel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'resourceChannel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | static var allChannels: [String: Channel] = [:]
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugChannel.swift:27:14: warning: static property 'allChannels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | public static var resourceChannel: Channel = { return Channel(name: "resources", maxSimultaneousConnections: 50)! }()
26 |
27 | static var allChannels: [String: Channel] = [:]
| |- warning: static property 'allChannels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'allChannels' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'allChannels' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |
29 | init?(name chName: String, maxSimultaneousConnections max: Int) {
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugChannel.swift:204:6: warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
202 | self.activeConnections.append(connection)
203 | self.queue.addOperation {
204 | connection.run()
| `- warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
205 | }
206 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:16:14: note: class 'Connection' does not conform to the 'Sendable' protocol
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
[16/25] Compiling Plug PlugChannel.swift
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:66:20: warning: static property 'connectionType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
64 |
65 | public static let instance = Plug()
66 | public static var connectionType = ConnectionType.wifi //let's try starting off optimistically
| |- warning: static property 'connectionType' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'connectionType' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'connectionType' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 | public static var online: Bool { return self.connectionType != .offline }
68 | public static var logAllConnections = false { didSet {
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:68:20: warning: static property 'logAllConnections' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
66 | public static var connectionType = ConnectionType.wifi //let's try starting off optimistically
67 | public static var online: Bool { return self.connectionType != .offline }
68 | public static var logAllConnections = false { didSet {
| |- warning: static property 'logAllConnections' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logAllConnections' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'logAllConnections' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
69 | if self.logAllConnections, self.log == nil {
70 | self.log = ConnectionLog()
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:75:20: warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
73 | }
74 | }}
75 | public static var log: ConnectionLog?
| |- warning: static property 'log' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'log' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'log' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 |
77 | public struct notifications {
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:30:14: warning: non-final class 'Plug' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
28 | }
29 |
30 | public class Plug: NSObject, URLSessionDelegate {
| `- warning: non-final class 'Plug' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
31 | public enum ConnectionType: Int { case offline, wifi, cellular }
32 | public enum Method: String, CustomStringConvertible, Codable { case GET = "GET", POST = "POST", DELETE = "DELETE", PUT = "PUT", PATCH = "PATCH", HEAD = "HEAD"
/Users/admin/builder/spi-builder-workspace/Source/Plug/Plug.swift:42:6: warning: stored property 'backgroundActivityHandler' of 'Sendable'-conforming class 'Plug' is mutable; this is an error in the Swift 6 language mode
40 | }
41 |
42 | var backgroundActivityHandler: BackgroundActivityHandlerProtocol?
| `- warning: stored property 'backgroundActivityHandler' of 'Sendable'-conforming class 'Plug' is mutable; this is an error in the Swift 6 language mode
43 | var networkActivityIndicator: ActivityIndicatorProtocol?
44 |
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugChannel.swift:24:21: warning: static property 'defaultChannel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 | public enum PauseReason: Int { case manual, offline, backgrounding }
23 |
24 | public static var defaultChannel: Channel = { return Channel(name: "default", maxSimultaneousConnections: 1)! }()
| |- warning: static property 'defaultChannel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultChannel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultChannel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | public static var resourceChannel: Channel = { return Channel(name: "resources", maxSimultaneousConnections: 50)! }()
26 |
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugChannel.swift:25:21: warning: static property 'resourceChannel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
23 |
24 | public static var defaultChannel: Channel = { return Channel(name: "default", maxSimultaneousConnections: 1)! }()
25 | public static var resourceChannel: Channel = { return Channel(name: "resources", maxSimultaneousConnections: 50)! }()
| |- warning: static property 'resourceChannel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'resourceChannel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'resourceChannel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | static var allChannels: [String: Channel] = [:]
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugChannel.swift:27:14: warning: static property 'allChannels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
25 | public static var resourceChannel: Channel = { return Channel(name: "resources", maxSimultaneousConnections: 50)! }()
26 |
27 | static var allChannels: [String: Channel] = [:]
| |- warning: static property 'allChannels' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'allChannels' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'allChannels' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |
29 | init?(name chName: String, maxSimultaneousConnections max: Int) {
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugChannel.swift:204:6: warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
202 | self.activeConnections.append(connection)
203 | self.queue.addOperation {
204 | connection.run()
| `- warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
205 | }
206 | }
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:16:14: note: class 'Connection' does not conform to the 'Sendable' protocol
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
[17/25] Compiling Plug PlugJSON.swift
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugJSON.swift:435:13: warning: static property 'JSONFormat' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
433 |
434 | public extension Date {
435 | static var JSONFormat = "yyyy-MM-dd HH:mm:ss Z"
| |- warning: static property 'JSONFormat' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'JSONFormat' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'JSONFormat' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | init?(jsonString: String?, format: String = Date.JSONFormat, formats: [String]? = nil, cachedFormatter: DateFormatter? = nil) {
[18/25] Compiling Plug PlugJSONConnection.swift
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugJSON.swift:435:13: warning: static property 'JSONFormat' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
433 |
434 | public extension Date {
435 | static var JSONFormat = "yyyy-MM-dd HH:mm:ss Z"
| |- warning: static property 'JSONFormat' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'JSONFormat' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'JSONFormat' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | init?(jsonString: String?, format: String = Date.JSONFormat, formats: [String]? = nil, cachedFormatter: DateFormatter? = nil) {
[19/25] Compiling Plug PlugErrors.swift
[20/25] Compiling Plug PlugImageConnection.swift
[21/25] Compiling Plug Codable+Additions.swift
/Users/admin/builder/spi-builder-workspace/Source/Plug/ConnectionLog.swift:34:4: warning: capture of 'self' with non-sendable type 'ConnectionLog' in a '@Sendable' closure
9 | import Foundation
10 |
11 | public class ConnectionLog {
| `- note: class 'ConnectionLog' does not conform to the 'Sendable' protocol
12 | struct Notifications {
13 | static let didLogConnection = Notification.Name("Plug:ConnectionLog.didLogConnection")
:
32 |
33 | self.queue.async {
34 | self.logged.append(connection)
| `- warning: capture of 'self' with non-sendable type 'ConnectionLog' in a '@Sendable' closure
35 | DispatchQueue.main.async {
36 | NotificationCenter.default.post(name: Notifications.didLogConnection, object: connection)
/Users/admin/builder/spi-builder-workspace/Source/Plug/ConnectionLog.swift:34:23: warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
32 |
33 | self.queue.async {
34 | self.logged.append(connection)
| `- warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
35 | DispatchQueue.main.async {
36 | NotificationCenter.default.post(name: Notifications.didLogConnection, object: connection)
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:16:14: note: class 'Connection' does not conform to the 'Sendable' protocol
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
[22/25] Compiling Plug ConnectionLog.swift
/Users/admin/builder/spi-builder-workspace/Source/Plug/ConnectionLog.swift:34:4: warning: capture of 'self' with non-sendable type 'ConnectionLog' in a '@Sendable' closure
9 | import Foundation
10 |
11 | public class ConnectionLog {
| `- note: class 'ConnectionLog' does not conform to the 'Sendable' protocol
12 | struct Notifications {
13 | static let didLogConnection = Notification.Name("Plug:ConnectionLog.didLogConnection")
:
32 |
33 | self.queue.async {
34 | self.logged.append(connection)
| `- warning: capture of 'self' with non-sendable type 'ConnectionLog' in a '@Sendable' closure
35 | DispatchQueue.main.async {
36 | NotificationCenter.default.post(name: Notifications.didLogConnection, object: connection)
/Users/admin/builder/spi-builder-workspace/Source/Plug/ConnectionLog.swift:34:23: warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
32 |
33 | self.queue.async {
34 | self.logged.append(connection)
| `- warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
35 | DispatchQueue.main.async {
36 | NotificationCenter.default.post(name: Notifications.didLogConnection, object: connection)
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:16:14: note: class 'Connection' does not conform to the 'Sendable' protocol
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
[23/25] Compiling Plug ConnectionLogViewController.swift
/Users/admin/builder/spi-builder-workspace/Source/Plug/ConnectionLog.swift:34:4: warning: capture of 'self' with non-sendable type 'ConnectionLog' in a '@Sendable' closure
9 | import Foundation
10 |
11 | public class ConnectionLog {
| `- note: class 'ConnectionLog' does not conform to the 'Sendable' protocol
12 | struct Notifications {
13 | static let didLogConnection = Notification.Name("Plug:ConnectionLog.didLogConnection")
:
32 |
33 | self.queue.async {
34 | self.logged.append(connection)
| `- warning: capture of 'self' with non-sendable type 'ConnectionLog' in a '@Sendable' closure
35 | DispatchQueue.main.async {
36 | NotificationCenter.default.post(name: Notifications.didLogConnection, object: connection)
/Users/admin/builder/spi-builder-workspace/Source/Plug/ConnectionLog.swift:34:23: warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
32 |
33 | self.queue.async {
34 | self.logged.append(connection)
| `- warning: capture of 'connection' with non-sendable type 'Connection' in a '@Sendable' closure
35 | DispatchQueue.main.async {
36 | NotificationCenter.default.post(name: Notifications.didLogConnection, object: connection)
/Users/admin/builder/spi-builder-workspace/Source/Plug/PlugConnection.swift:16:14: note: class 'Connection' does not conform to the 'Sendable' protocol
14 | extension URLRequest.CachePolicy : Codable {}
15 |
16 | public class Connection: Hashable, CustomStringConvertible, Codable {
| `- note: class 'Connection' does not conform to the 'Sendable' protocol
17 | deinit {
18 | self.killTimer?.invalidate()
[24/25] Compiling Plug Plug.ConnectionData.swift
[25/25] Compiling Plug Plug.Headers.swift
Build complete! (8.98s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Plug",
"name" : "Plug",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Plug",
"targets" : [
"Plug"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Plug",
"module_type" : "SwiftTarget",
"name" : "Plug",
"path" : "Source/Plug",
"product_memberships" : [
"Plug"
],
"sources" : [
"Codable+Additions.swift",
"ConnectionLog.swift",
"ConnectionLogViewController.swift",
"HTTPCookie+Plug.swift",
"Incoming.swift",
"JSONStringify.swift",
"NSURLRequest+Plug.swift",
"Plug+iOS.swift",
"Plug.ConnectionData.swift",
"Plug.Headers.swift",
"Plug.swift",
"PlugChannel.swift",
"PlugConnection.swift",
"PlugCredentials.swift",
"PlugErrors.swift",
"PlugImageConnection.swift",
"PlugJSON.swift",
"PlugJSONConnection.swift",
"PlugParameters.swift",
"PlugPersistence.swift",
"PlugProtocols.swift",
"Reachability.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
Done.