Build Information
Successful build of MockDuck, reference main (4729d1
), with Swift 6.0 for macOS (SPM) on 1 Nov 2024 03:10:56 UTC.
Swift 6 data race errors: 13
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/buzzfeed/MockDuck.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/buzzfeed/MockDuck
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 4729d15 Merge pull request #32 from buzzfeed/feature/update-installation-readme
Cloned https://github.com/buzzfeed/MockDuck.git
Revision (git rev-parse @):
4729d150c199f6920219c1ea969d54dcd0efe943
SUCCESS checkout https://github.com/buzzfeed/MockDuck.git at main
========================================
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": "mockduck",
"name": "MockDuck",
"url": "https://github.com/buzzfeed/MockDuck.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/MockDuck",
"dependencies": [
]
}
]
}
Fetching https://github.com/buzzfeed/MockDuck.git
[1/572] Fetching mockduck
Fetched https://github.com/buzzfeed/MockDuck.git from cache (0.82s)
Creating working copy for https://github.com/buzzfeed/MockDuck.git
Working copy of https://github.com/buzzfeed/MockDuck.git resolved at main (4729d15)
warning: '.resolve-product-dependencies': dependency 'mockduck' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/buzzfeed/MockDuck.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/13] Compiling MockDuck MockURLProtocol.swift
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockURLProtocol.swift:13:7: warning: non-final class 'MockURLProtocol' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
11 | /// This is the URLProtocol subclass that intercepts all network requests and uses `MockSession` to
12 | /// stub out the responses. One of these is instantiated per request.
13 | class MockURLProtocol: URLProtocol, URLSessionDelegate, URLSessionDataDelegate {
| `- warning: non-final class 'MockURLProtocol' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
14 | private struct Constants {
15 | static let ProtocolHandled = "com.buzzfeed.MockDuck.URLProtocolHandled"
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockURLProtocol.swift:13:7: warning: 'Sendable' class 'MockURLProtocol' cannot inherit from another class other than 'NSObject'; this is an error in the Swift 6 language mode
11 | /// This is the URLProtocol subclass that intercepts all network requests and uses `MockSession` to
12 | /// stub out the responses. One of these is instantiated per request.
13 | class MockURLProtocol: URLProtocol, URLSessionDelegate, URLSessionDataDelegate {
| `- warning: 'Sendable' class 'MockURLProtocol' cannot inherit from another class other than 'NSObject'; this is an error in the Swift 6 language mode
14 | private struct Constants {
15 | static let ProtocolHandled = "com.buzzfeed.MockDuck.URLProtocolHandled"
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockURLProtocol.swift:18:9: warning: stored property 'sessionTask' of 'Sendable'-conforming class 'MockURLProtocol' is mutable; this is an error in the Swift 6 language mode
16 | }
17 |
18 | var sessionTask: URLSessionTask?
| `- warning: stored property 'sessionTask' of 'Sendable'-conforming class 'MockURLProtocol' is mutable; this is an error in the Swift 6 language mode
19 |
20 | override init(request: URLRequest, cachedResponse: CachedURLResponse?, client: URLProtocolClient?) {
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:52:23: warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
50 | /// `loadingURL`, `recordingURL`, or by registering a request mock. This is here, however, to allow
51 | /// developers to quickly disable MockDuck by setting this to `false`.
52 | public static var enabled = true {
| |- warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enabled' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 | willSet {
54 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:149:38: warning: static property 'mockSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 |
148 | // This is the URLSession subclass that we use to handle all mocked network requests.
149 | internal private(set) static var mockSession = MockSession()
| |- warning: static property 'mockSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'mockSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'mockSession' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
150 |
151 | /// This is the object responsible for loading cached requests from disks as well as recording
[4/14] Compiling MockDuck MockResponse.swift
[5/14] Compiling MockDuck MockSession.swift
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockSession.swift:13:13: warning: class 'MockSession' must restate inherited '@unchecked Sendable' conformance
11 | /// MockSession is a basic subclass of URLSession, created so that we can hook into the creation of
12 | /// NSURLSession tasks and provide our own tasks that can load cached requests from disk.
13 | final class MockSession: URLSession {
| `- warning: class 'MockSession' must restate inherited '@unchecked Sendable' conformance
14 | private let queue = DispatchQueue(label: "com.buzzfeed.MockDuck.MockSessionQueue", attributes: [])
15 |
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockSession.swift:23:17: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 | let task = MockDataTask(request: request) { (sequence, error) in
22 | self.queue.async {
23 | completionHandler(sequence?.responseData, sequence?.response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
24 | }
25 | }
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockSession.swift:23:35: warning: capture of 'sequence' with non-sendable type 'MockRequestResponse?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 | let task = MockDataTask(request: request) { (sequence, error) in
22 | self.queue.async {
23 | completionHandler(sequence?.responseData, sequence?.response, error)
| `- warning: capture of 'sequence' with non-sendable type 'MockRequestResponse?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
24 | }
25 | }
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockRequestResponse.swift:12:13: note: class 'MockRequestResponse' does not conform to the 'Sendable' protocol
10 |
11 | /// A basic container for holding a request, a response, and any associated data.
12 | final class MockRequestResponse: Codable {
| `- note: class 'MockRequestResponse' does not conform to the 'Sendable' protocol
13 |
14 | enum MockFileTarget {
[6/14] Compiling MockDuck CryptoUtils.swift
[7/14] Compiling MockDuck RequestResponseCommonProtocol.swift
[8/14] Compiling MockDuck MockRequestResponse.swift
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:43:28: warning: static property 'delegate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 |
42 | /// A delegate that allows a class to hook into and modify how MockDuck behaves.
43 | public static weak var delegate: MockDuckDelegate? {
| |- warning: static property 'delegate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'delegate' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'delegate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 | willSet {
45 | checkConfigureMockDuck()
[9/14] Compiling MockDuck MockDuck.swift
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:13:35: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
11 |
12 | /// A delegate protocol that can be used to modify how MockDuck functions.
13 | public protocol MockDuckDelegate: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
14 |
15 | /// A hook that allows one to normalize a request before it is turned into a hash that uniquely
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:43:28: warning: static property 'delegate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 |
42 | /// A delegate that allows a class to hook into and modify how MockDuck behaves.
43 | public static weak var delegate: MockDuckDelegate? {
| |- warning: static property 'delegate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'delegate' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'delegate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 | willSet {
45 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:52:23: warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
50 | /// `loadingURL`, `recordingURL`, or by registering a request mock. This is here, however, to allow
51 | /// developers to quickly disable MockDuck by setting this to `false`.
52 | public static var enabled = true {
| |- warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enabled' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 | willSet {
54 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:62:23: warning: static property 'shouldFallbackToNetwork' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
60 | /// Set this to `false` to force an error that resembles what `URLSession` provides when the
61 | /// network is unreachable.
62 | public static var shouldFallbackToNetwork = true {
| |- warning: static property 'shouldFallbackToNetwork' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shouldFallbackToNetwork' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'shouldFallbackToNetwork' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | willSet {
64 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:71:23: warning: static property 'fallbackSessionConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
69 | /// configured with this object. You can hook in here to modify how these fallback requests
70 | /// are made.
71 | public static var fallbackSessionConfiguration = URLSessionConfiguration.default {
| |- warning: static property 'fallbackSessionConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'fallbackSessionConfiguration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'fallbackSessionConfiguration' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | willSet {
73 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:146:38: warning: static property 'fallbackSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
144 | /// This is the session MockDuck will fallback to using if the mocked request is not found and
145 | /// if `MockDuck.shouldFallbackToNetwork` is `true`.
146 | internal private(set) static var fallbackSession = URLSession.shared
| |- warning: static property 'fallbackSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'fallbackSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'fallbackSession' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
147 |
148 | // This is the URLSession subclass that we use to handle all mocked network requests.
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:82:23: warning: static property 'loadingURL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
80 | /// The location where MockDuck will attempt to look for network requests that have been saved
81 | /// to disk.
82 | public static var loadingURL: URL? {
| |- warning: static property 'loadingURL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'loadingURL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'loadingURL' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
83 | willSet {
84 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:153:38: warning: static property 'mockBundle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
151 | /// This is the object responsible for loading cached requests from disks as well as recording
152 | /// new requests to disk.
153 | internal private(set) static var mockBundle = MockBundle()
| |- warning: static property 'mockBundle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'mockBundle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'mockBundle' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
154 |
155 | // MARK: - Private Configuration
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:100:23: warning: static property 'recordingURL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
98 | /// useful way to record a session of network activity to disk which is then used in the future
99 | /// by pointing to this same data using `loadingURL`.
100 | public static var recordingURL: URL? {
| |- warning: static property 'recordingURL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'recordingURL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'recordingURL' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | willSet {
102 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:149:38: warning: static property 'mockSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 |
148 | // This is the URLSession subclass that we use to handle all mocked network requests.
149 | internal private(set) static var mockSession = MockSession()
| |- warning: static property 'mockSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'mockSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'mockSession' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
150 |
151 | /// This is the object responsible for loading cached requests from disks as well as recording
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:157:24: warning: static property 'isConfigured' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
155 | // MARK: - Private Configuration
156 |
157 | private static var isConfigured = false
| |- warning: static property 'isConfigured' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isConfigured' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isConfigured' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
158 |
159 | private static func checkConfigureMockDuck() {
[10/14] Compiling MockDuck MockRequest.swift
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:43:28: warning: static property 'delegate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 |
42 | /// A delegate that allows a class to hook into and modify how MockDuck behaves.
43 | public static weak var delegate: MockDuckDelegate? {
| |- warning: static property 'delegate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'delegate' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'delegate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 | willSet {
45 | checkConfigureMockDuck()
[11/14] Compiling MockDuck MockBundle.swift
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDataTask.swift:14:13: warning: class 'MockDataTask' must restate inherited '@unchecked Sendable' conformance
12 | /// possible. When it is unable to load a response from disk, it can optionally use a fallback
13 | /// URLSession to handle the request normally.
14 | final class MockDataTask: URLSessionDataTask {
| `- warning: class 'MockDataTask' must restate inherited '@unchecked Sendable' conformance
15 |
16 | typealias TaskCompletion = (MockRequestResponse?, Error?) -> Void
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:153:38: warning: static property 'mockBundle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
151 | /// This is the object responsible for loading cached requests from disks as well as recording
152 | /// new requests to disk.
153 | internal private(set) static var mockBundle = MockBundle()
| |- warning: static property 'mockBundle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'mockBundle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'mockBundle' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
154 |
155 | // MARK: - Private Configuration
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:62:23: warning: static property 'shouldFallbackToNetwork' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
60 | /// Set this to `false` to force an error that resembles what `URLSession` provides when the
61 | /// network is unreachable.
62 | public static var shouldFallbackToNetwork = true {
| |- warning: static property 'shouldFallbackToNetwork' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shouldFallbackToNetwork' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'shouldFallbackToNetwork' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | willSet {
64 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:146:38: warning: static property 'fallbackSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
144 | /// This is the session MockDuck will fallback to using if the mocked request is not found and
145 | /// if `MockDuck.shouldFallbackToNetwork` is `true`.
146 | internal private(set) static var fallbackSession = URLSession.shared
| |- warning: static property 'fallbackSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'fallbackSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'fallbackSession' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
147 |
148 | // This is the URLSession subclass that we use to handle all mocked network requests.
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDataTask.swift:47:21: warning: capture of 'mockRequestResponse' with non-sendable type 'MockRequestResponse' in a `@Sendable` closure; this is an error in the Swift 6 language mode
45 | self.completion(nil, error)
46 | } else if let response = response {
47 | mockRequestResponse.responseWrapper = MockResponse(response: response, responseData: responseData)
| `- warning: capture of 'mockRequestResponse' with non-sendable type 'MockRequestResponse' in a `@Sendable` closure; this is an error in the Swift 6 language mode
48 | MockDuck.mockBundle.record(requestResponse: mockRequestResponse)
49 | self.completion(mockRequestResponse, nil)
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockRequestResponse.swift:12:13: note: class 'MockRequestResponse' does not conform to the 'Sendable' protocol
10 |
11 | /// A basic container for holding a request, a response, and any associated data.
12 | final class MockRequestResponse: Codable {
| `- note: class 'MockRequestResponse' does not conform to the 'Sendable' protocol
13 |
14 | enum MockFileTarget {
[12/14] Compiling MockDuck MockDataTask.swift
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDataTask.swift:14:13: warning: class 'MockDataTask' must restate inherited '@unchecked Sendable' conformance
12 | /// possible. When it is unable to load a response from disk, it can optionally use a fallback
13 | /// URLSession to handle the request normally.
14 | final class MockDataTask: URLSessionDataTask {
| `- warning: class 'MockDataTask' must restate inherited '@unchecked Sendable' conformance
15 |
16 | typealias TaskCompletion = (MockRequestResponse?, Error?) -> Void
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:153:38: warning: static property 'mockBundle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
151 | /// This is the object responsible for loading cached requests from disks as well as recording
152 | /// new requests to disk.
153 | internal private(set) static var mockBundle = MockBundle()
| |- warning: static property 'mockBundle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'mockBundle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'mockBundle' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
154 |
155 | // MARK: - Private Configuration
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:62:23: warning: static property 'shouldFallbackToNetwork' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
60 | /// Set this to `false` to force an error that resembles what `URLSession` provides when the
61 | /// network is unreachable.
62 | public static var shouldFallbackToNetwork = true {
| |- warning: static property 'shouldFallbackToNetwork' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shouldFallbackToNetwork' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'shouldFallbackToNetwork' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | willSet {
64 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:146:38: warning: static property 'fallbackSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
144 | /// This is the session MockDuck will fallback to using if the mocked request is not found and
145 | /// if `MockDuck.shouldFallbackToNetwork` is `true`.
146 | internal private(set) static var fallbackSession = URLSession.shared
| |- warning: static property 'fallbackSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'fallbackSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'fallbackSession' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
147 |
148 | // This is the URLSession subclass that we use to handle all mocked network requests.
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDataTask.swift:47:21: warning: capture of 'mockRequestResponse' with non-sendable type 'MockRequestResponse' in a `@Sendable` closure; this is an error in the Swift 6 language mode
45 | self.completion(nil, error)
46 | } else if let response = response {
47 | mockRequestResponse.responseWrapper = MockResponse(response: response, responseData: responseData)
| `- warning: capture of 'mockRequestResponse' with non-sendable type 'MockRequestResponse' in a `@Sendable` closure; this is an error in the Swift 6 language mode
48 | MockDuck.mockBundle.record(requestResponse: mockRequestResponse)
49 | self.completion(mockRequestResponse, nil)
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockRequestResponse.swift:12:13: note: class 'MockRequestResponse' does not conform to the 'Sendable' protocol
10 |
11 | /// A basic container for holding a request, a response, and any associated data.
12 | final class MockRequestResponse: Codable {
| `- note: class 'MockRequestResponse' does not conform to the 'Sendable' protocol
13 |
14 | enum MockFileTarget {
[13/14] Emitting module MockDuck
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDataTask.swift:14:13: warning: class 'MockDataTask' must restate inherited '@unchecked Sendable' conformance
12 | /// possible. When it is unable to load a response from disk, it can optionally use a fallback
13 | /// URLSession to handle the request normally.
14 | final class MockDataTask: URLSessionDataTask {
| `- warning: class 'MockDataTask' must restate inherited '@unchecked Sendable' conformance
15 |
16 | typealias TaskCompletion = (MockRequestResponse?, Error?) -> Void
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:13:35: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
11 |
12 | /// A delegate protocol that can be used to modify how MockDuck functions.
13 | public protocol MockDuckDelegate: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
14 |
15 | /// A hook that allows one to normalize a request before it is turned into a hash that uniquely
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:43:28: warning: static property 'delegate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
41 |
42 | /// A delegate that allows a class to hook into and modify how MockDuck behaves.
43 | public static weak var delegate: MockDuckDelegate? {
| |- warning: static property 'delegate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'delegate' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'delegate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 | willSet {
45 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:52:23: warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
50 | /// `loadingURL`, `recordingURL`, or by registering a request mock. This is here, however, to allow
51 | /// developers to quickly disable MockDuck by setting this to `false`.
52 | public static var enabled = true {
| |- warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enabled' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 | willSet {
54 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:62:23: warning: static property 'shouldFallbackToNetwork' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
60 | /// Set this to `false` to force an error that resembles what `URLSession` provides when the
61 | /// network is unreachable.
62 | public static var shouldFallbackToNetwork = true {
| |- warning: static property 'shouldFallbackToNetwork' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shouldFallbackToNetwork' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'shouldFallbackToNetwork' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | willSet {
64 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:71:23: warning: static property 'fallbackSessionConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
69 | /// configured with this object. You can hook in here to modify how these fallback requests
70 | /// are made.
71 | public static var fallbackSessionConfiguration = URLSessionConfiguration.default {
| |- warning: static property 'fallbackSessionConfiguration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'fallbackSessionConfiguration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'fallbackSessionConfiguration' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | willSet {
73 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:146:38: warning: static property 'fallbackSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
144 | /// This is the session MockDuck will fallback to using if the mocked request is not found and
145 | /// if `MockDuck.shouldFallbackToNetwork` is `true`.
146 | internal private(set) static var fallbackSession = URLSession.shared
| |- warning: static property 'fallbackSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'fallbackSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'fallbackSession' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
147 |
148 | // This is the URLSession subclass that we use to handle all mocked network requests.
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:82:23: warning: static property 'loadingURL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
80 | /// The location where MockDuck will attempt to look for network requests that have been saved
81 | /// to disk.
82 | public static var loadingURL: URL? {
| |- warning: static property 'loadingURL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'loadingURL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'loadingURL' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
83 | willSet {
84 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:153:38: warning: static property 'mockBundle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
151 | /// This is the object responsible for loading cached requests from disks as well as recording
152 | /// new requests to disk.
153 | internal private(set) static var mockBundle = MockBundle()
| |- warning: static property 'mockBundle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'mockBundle' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'mockBundle' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
154 |
155 | // MARK: - Private Configuration
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:100:23: warning: static property 'recordingURL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
98 | /// useful way to record a session of network activity to disk which is then used in the future
99 | /// by pointing to this same data using `loadingURL`.
100 | public static var recordingURL: URL? {
| |- warning: static property 'recordingURL' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'recordingURL' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'recordingURL' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | willSet {
102 | checkConfigureMockDuck()
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:149:38: warning: static property 'mockSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
147 |
148 | // This is the URLSession subclass that we use to handle all mocked network requests.
149 | internal private(set) static var mockSession = MockSession()
| |- warning: static property 'mockSession' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'mockSession' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'mockSession' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
150 |
151 | /// This is the object responsible for loading cached requests from disks as well as recording
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockDuck.swift:157:24: warning: static property 'isConfigured' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
155 | // MARK: - Private Configuration
156 |
157 | private static var isConfigured = false
| |- warning: static property 'isConfigured' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'isConfigured' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'isConfigured' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
158 |
159 | private static func checkConfigureMockDuck() {
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockSession.swift:13:13: warning: class 'MockSession' must restate inherited '@unchecked Sendable' conformance
11 | /// MockSession is a basic subclass of URLSession, created so that we can hook into the creation of
12 | /// NSURLSession tasks and provide our own tasks that can load cached requests from disk.
13 | final class MockSession: URLSession {
| `- warning: class 'MockSession' must restate inherited '@unchecked Sendable' conformance
14 | private let queue = DispatchQueue(label: "com.buzzfeed.MockDuck.MockSessionQueue", attributes: [])
15 |
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockURLProtocol.swift:13:7: warning: non-final class 'MockURLProtocol' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
11 | /// This is the URLProtocol subclass that intercepts all network requests and uses `MockSession` to
12 | /// stub out the responses. One of these is instantiated per request.
13 | class MockURLProtocol: URLProtocol, URLSessionDelegate, URLSessionDataDelegate {
| `- warning: non-final class 'MockURLProtocol' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
14 | private struct Constants {
15 | static let ProtocolHandled = "com.buzzfeed.MockDuck.URLProtocolHandled"
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockURLProtocol.swift:13:7: warning: 'Sendable' class 'MockURLProtocol' cannot inherit from another class other than 'NSObject'; this is an error in the Swift 6 language mode
11 | /// This is the URLProtocol subclass that intercepts all network requests and uses `MockSession` to
12 | /// stub out the responses. One of these is instantiated per request.
13 | class MockURLProtocol: URLProtocol, URLSessionDelegate, URLSessionDataDelegate {
| `- warning: 'Sendable' class 'MockURLProtocol' cannot inherit from another class other than 'NSObject'; this is an error in the Swift 6 language mode
14 | private struct Constants {
15 | static let ProtocolHandled = "com.buzzfeed.MockDuck.URLProtocolHandled"
/Users/admin/builder/spi-builder-workspace/MockDuck/Sources/MockURLProtocol.swift:18:9: warning: stored property 'sessionTask' of 'Sendable'-conforming class 'MockURLProtocol' is mutable; this is an error in the Swift 6 language mode
16 | }
17 |
18 | var sessionTask: URLSessionTask?
| `- warning: stored property 'sessionTask' of 'Sendable'-conforming class 'MockURLProtocol' is mutable; this is an error in the Swift 6 language mode
19 |
20 | override init(request: URLRequest, cachedResponse: CachedURLResponse?, client: URLProtocolClient?) {
[14/14] Compiling MockDuck EncodingUtils.swift
Build complete! (14.96s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "MockDuck",
"name" : "MockDuck",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.12"
},
{
"name" : "ios",
"version" : "10.0"
},
{
"name" : "tvos",
"version" : "10.0"
}
],
"products" : [
{
"name" : "MockDuck",
"targets" : [
"MockDuck"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "MockDuckTests",
"module_type" : "SwiftTarget",
"name" : "MockDuckTests",
"path" : "MockDuckTests/Sources",
"sources" : [
"CryptoTests.swift",
"MockBundleTests.swift",
"MockDuckTests.swift",
"MockURLProtocolTests.swift",
"RequestHandlerTests.swift",
"RequestHashTests.swift"
],
"target_dependencies" : [
"MockDuck"
],
"type" : "test"
},
{
"c99name" : "MockDuck",
"module_type" : "SwiftTarget",
"name" : "MockDuck",
"path" : "MockDuck/Sources",
"product_memberships" : [
"MockDuck"
],
"sources" : [
"MockBundle.swift",
"MockDataTask.swift",
"MockDuck.swift",
"MockRequest.swift",
"MockRequestResponse.swift",
"MockResponse.swift",
"MockSession.swift",
"MockURLProtocol.swift",
"RequestResponseCommonProtocol.swift",
"Utilities/CryptoUtils.swift",
"Utilities/EncodingUtils.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.