Build Information
Successful build of SimpleMDM-Swift, reference 0.10.0 (f5557f
), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 10:19:32 UTC.
Swift 6 data race errors: 1
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/guillaumealgis/SimpleMDM-Swift.git
Reference: 0.10.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/guillaumealgis/SimpleMDM-Swift
* tag 0.10.0 -> FETCH_HEAD
HEAD is now at f5557fb Bump version 0.9.0 -> 0.10.0
Cloned https://github.com/guillaumealgis/SimpleMDM-Swift.git
Revision (git rev-parse @):
f5557fb43306c33e2537aec76d35c47ca97b607d
SUCCESS checkout https://github.com/guillaumealgis/SimpleMDM-Swift.git at 0.10.0
Fetching https://github.com/mxcl/PromiseKit.git
[1/17121] Fetching promisekit
Fetched https://github.com/mxcl/PromiseKit.git from cache (4.85s)
Computing version for https://github.com/mxcl/PromiseKit.git
Computed https://github.com/mxcl/PromiseKit.git at 6.13.1 (0.70s)
Creating working copy for https://github.com/mxcl/PromiseKit.git
Working copy of https://github.com/mxcl/PromiseKit.git resolved at 6.13.1
========================================
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": "simplemdm-swift",
"name": "SimpleMDM-Swift",
"url": "https://github.com/guillaumealgis/SimpleMDM-Swift.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SimpleMDM-Swift",
"dependencies": [
{
"identity": "promisekit",
"name": "PromiseKit",
"url": "https://github.com/mxcl/PromiseKit.git",
"version": "6.22.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PromiseKit",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/guillaumealgis/SimpleMDM-Swift.git
[1/3514] Fetching simplemdm-swift
Fetched https://github.com/guillaumealgis/SimpleMDM-Swift.git from cache (1.65s)
Fetching https://github.com/mxcl/PromiseKit.git from cache
Fetched https://github.com/mxcl/PromiseKit.git from cache (0.78s)
Computing version for https://github.com/mxcl/PromiseKit.git
Computed https://github.com/mxcl/PromiseKit.git at 6.22.1 (0.66s)
Creating working copy for https://github.com/mxcl/PromiseKit.git
Working copy of https://github.com/mxcl/PromiseKit.git resolved at 6.22.1
Creating working copy for https://github.com/guillaumealgis/SimpleMDM-Swift.git
Working copy of https://github.com/guillaumealgis/SimpleMDM-Swift.git resolved at 0.10.0 (f5557fb)
warning: '.resolve-product-dependencies': dependency 'simplemdm-swift' is not used by any target
Found 1 product dependencies
- PromiseKit
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/guillaumealgis/SimpleMDM-Swift.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/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/18] Compiling PromiseKit race.swift
[5/19] Compiling PromiseKit when.swift
[6/19] Compiling PromiseKit firstly.swift
[7/19] Compiling PromiseKit hang.swift
[8/19] Compiling PromiseKit after.swift
[9/19] Compiling PromiseKit LogEvent.swift
[10/19] Compiling PromiseKit Promise.swift
[11/19] Compiling PromiseKit Resolver.swift
[12/19] Compiling PromiseKit Thenable.swift
[13/19] Compiling PromiseKit Box.swift
[14/19] Compiling PromiseKit Catchable.swift
[15/19] Emitting module PromiseKit
[16/19] Compiling PromiseKit Configuration.swift
[17/19] Compiling PromiseKit CustomStringConvertible.swift
[18/19] Compiling PromiseKit Error.swift
[19/19] Compiling PromiseKit Guarantee.swift
[20/42] Emitting module SimpleMDM
/Users/admin/builder/spi-builder-workspace/Sources/Relationship.swift:251:17: warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
249 | /// - index: The index of the resource to fetch in the collection.
250 | /// - completion: A completion handler called with the fetched resource, or an error.
251 | public func get(id: Element.ID, completion: @escaping (Result<Element>) -> Void) {
| `- warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
252 | get(SimpleMDM.shared.networking, id: id, completion: completion)
253 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/PromiseKit/Sources/Resolver.swift:85:13: note: type declared here
83 | #endif
84 |
85 | public enum Result<T> {
| `- note: type declared here
86 | case fulfilled(T)
87 | case rejected(Error)
/Users/admin/builder/spi-builder-workspace/Sources/Resources/Resource.swift:9:18: warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
7 |
8 | /// A completion clusure used to return a Result type asynchronously.
9 | public typealias CompletionClosure<Value> = (Result<Value>) -> Void
| `- warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
10 |
11 | /// A protocol adopted by all resources types of the library.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/PromiseKit/Sources/Resolver.swift:85:13: note: type declared here
83 | #endif
84 |
85 | public enum Result<T> {
| `- note: type declared here
86 | case fulfilled(T)
87 | case rejected(Error)
/Users/admin/builder/spi-builder-workspace/Sources/SimpleMDM.swift:34:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The main static object representing the SimpleMDM API. Use this to set your private API key.
16 | public class SimpleMDM: NSObject {
| `- note: class 'SimpleMDM' does not conform to the 'Sendable' protocol
17 | // MARK: - Type properties
18 |
:
32 | }
33 |
34 | internal static let shared = SimpleMDM()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
35 |
36 | // MARK: - Instance properties
[21/44] Compiling SimpleMDM Resource.swift
/Users/admin/builder/spi-builder-workspace/Sources/Resources/Resource.swift:9:18: warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
7 |
8 | /// A completion clusure used to return a Result type asynchronously.
9 | public typealias CompletionClosure<Value> = (Result<Value>) -> Void
| `- warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
10 |
11 | /// A protocol adopted by all resources types of the library.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/PromiseKit/Sources/Resolver.swift:85:13: note: type declared here
83 | #endif
84 |
85 | public enum Result<T> {
| `- note: type declared here
86 | case fulfilled(T)
87 | case rejected(Error)
/Users/admin/builder/spi-builder-workspace/Sources/SimpleMDM.swift:34:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The main static object representing the SimpleMDM API. Use this to set your private API key.
16 | public class SimpleMDM: NSObject {
| `- note: class 'SimpleMDM' does not conform to the 'Sendable' protocol
17 | // MARK: - Type properties
18 |
:
32 | }
33 |
34 | internal static let shared = SimpleMDM()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
35 |
36 | // MARK: - Instance properties
[22/44] Compiling SimpleMDM SimpleMDM.swift
/Users/admin/builder/spi-builder-workspace/Sources/Resources/Resource.swift:9:18: warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
7 |
8 | /// A completion clusure used to return a Result type asynchronously.
9 | public typealias CompletionClosure<Value> = (Result<Value>) -> Void
| `- warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
10 |
11 | /// A protocol adopted by all resources types of the library.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/PromiseKit/Sources/Resolver.swift:85:13: note: type declared here
83 | #endif
84 |
85 | public enum Result<T> {
| `- note: type declared here
86 | case fulfilled(T)
87 | case rejected(Error)
/Users/admin/builder/spi-builder-workspace/Sources/SimpleMDM.swift:34:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The main static object representing the SimpleMDM API. Use this to set your private API key.
16 | public class SimpleMDM: NSObject {
| `- note: class 'SimpleMDM' does not conform to the 'Sendable' protocol
17 | // MARK: - Type properties
18 |
:
32 | }
33 |
34 | internal static let shared = SimpleMDM()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
35 |
36 | // MARK: - Instance properties
[23/44] Compiling SimpleMDM Device.swift
[24/44] Compiling SimpleMDM DeviceGroup.swift
[25/44] Compiling SimpleMDM URL+CustomInit.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLSession.swift:17:83: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
14 |
15 | extension URLSession: URLSessionProtocol {
16 | func dataTask(with request: URLRequest, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void) -> URLSessionDataTaskProtocol {
| `- note: parameter 'completionHandler' is implicitly non-sendable
17 | let task: URLSessionDataTask = dataTask(with: request, completionHandler: completionHandler)
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
18 | return task
19 | }
[26/44] Compiling SimpleMDM URLSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLSession.swift:17:83: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
14 |
15 | extension URLSession: URLSessionProtocol {
16 | func dataTask(with request: URLRequest, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void) -> URLSessionDataTaskProtocol {
| `- note: parameter 'completionHandler' is implicitly non-sendable
17 | let task: URLSessionDataTask = dataTask(with: request, completionHandler: completionHandler)
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
18 | return task
19 | }
[27/44] Compiling SimpleMDM App.swift
[28/44] Compiling SimpleMDM AppGroup.swift
[29/44] Compiling SimpleMDM CustomAttribute.swift
[30/44] Compiling SimpleMDM SimpleMDM+PromiseKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/SimpleMDM.swift:34:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The main static object representing the SimpleMDM API. Use this to set your private API key.
16 | public class SimpleMDM: NSObject {
| `- note: class 'SimpleMDM' does not conform to the 'Sendable' protocol
17 | // MARK: - Type properties
18 |
:
32 | }
33 |
34 | internal static let shared = SimpleMDM()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
35 |
36 | // MARK: - Instance properties
[31/44] Compiling SimpleMDM Version.swift
/Users/admin/builder/spi-builder-workspace/Sources/SimpleMDM.swift:34:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The main static object representing the SimpleMDM API. Use this to set your private API key.
16 | public class SimpleMDM: NSObject {
| `- note: class 'SimpleMDM' does not conform to the 'Sendable' protocol
17 | // MARK: - Type properties
18 |
:
32 | }
33 |
34 | internal static let shared = SimpleMDM()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
35 |
36 | // MARK: - Instance properties
[32/44] Compiling SimpleMDM Networking.swift
/Users/admin/builder/spi-builder-workspace/Sources/SimpleMDM.swift:34:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The main static object representing the SimpleMDM API. Use this to set your private API key.
16 | public class SimpleMDM: NSObject {
| `- note: class 'SimpleMDM' does not conform to the 'Sendable' protocol
17 | // MARK: - Type properties
18 |
:
32 | }
33 |
34 | internal static let shared = SimpleMDM()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
35 |
36 | // MARK: - Instance properties
[33/44] Compiling SimpleMDM InstalledApp.swift
[34/44] Compiling SimpleMDM ManagedConfig.swift
[35/44] Compiling SimpleMDM Payload.swift
/Users/admin/builder/spi-builder-workspace/Sources/Relationship.swift:251:17: warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
249 | /// - index: The index of the resource to fetch in the collection.
250 | /// - completion: A completion handler called with the fetched resource, or an error.
251 | public func get(id: Element.ID, completion: @escaping (Result<Element>) -> Void) {
| `- warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
252 | get(SimpleMDM.shared.networking, id: id, completion: completion)
253 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/PromiseKit/Sources/Resolver.swift:85:13: note: type declared here
83 | #endif
84 |
85 | public enum Result<T> {
| `- note: type declared here
86 | case fulfilled(T)
87 | case rejected(Error)
/Users/admin/builder/spi-builder-workspace/Sources/SimpleMDM.swift:34:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The main static object representing the SimpleMDM API. Use this to set your private API key.
16 | public class SimpleMDM: NSObject {
| `- note: class 'SimpleMDM' does not conform to the 'Sendable' protocol
17 | // MARK: - Type properties
18 |
:
32 | }
33 |
34 | internal static let shared = SimpleMDM()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
35 |
36 | // MARK: - Instance properties
[36/44] Compiling SimpleMDM Relationship.swift
/Users/admin/builder/spi-builder-workspace/Sources/Relationship.swift:251:17: warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
249 | /// - index: The index of the resource to fetch in the collection.
250 | /// - completion: A completion handler called with the fetched resource, or an error.
251 | public func get(id: Element.ID, completion: @escaping (Result<Element>) -> Void) {
| `- warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
252 | get(SimpleMDM.shared.networking, id: id, completion: completion)
253 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/PromiseKit/Sources/Resolver.swift:85:13: note: type declared here
83 | #endif
84 |
85 | public enum Result<T> {
| `- note: type declared here
86 | case fulfilled(T)
87 | case rejected(Error)
/Users/admin/builder/spi-builder-workspace/Sources/SimpleMDM.swift:34:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The main static object representing the SimpleMDM API. Use this to set your private API key.
16 | public class SimpleMDM: NSObject {
| `- note: class 'SimpleMDM' does not conform to the 'Sendable' protocol
17 | // MARK: - Type properties
18 |
:
32 | }
33 |
34 | internal static let shared = SimpleMDM()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
35 |
36 | // MARK: - Instance properties
[37/44] Compiling SimpleMDM Account.swift
/Users/admin/builder/spi-builder-workspace/Sources/Relationship.swift:251:17: warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
249 | /// - index: The index of the resource to fetch in the collection.
250 | /// - completion: A completion handler called with the fetched resource, or an error.
251 | public func get(id: Element.ID, completion: @escaping (Result<Element>) -> Void) {
| `- warning: cannot use generic enum 'Result' here; 'PromiseKit' was not imported by this file
252 | get(SimpleMDM.shared.networking, id: id, completion: completion)
253 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/PromiseKit/Sources/Resolver.swift:85:13: note: type declared here
83 | #endif
84 |
85 | public enum Result<T> {
| `- note: type declared here
86 | case fulfilled(T)
87 | case rejected(Error)
/Users/admin/builder/spi-builder-workspace/Sources/SimpleMDM.swift:34:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The main static object representing the SimpleMDM API. Use this to set your private API key.
16 | public class SimpleMDM: NSObject {
| `- note: class 'SimpleMDM' does not conform to the 'Sendable' protocol
17 | // MARK: - Type properties
18 |
:
32 | }
33 |
34 | internal static let shared = SimpleMDM()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
35 |
36 | // MARK: - Instance properties
[38/44] Compiling SimpleMDM Cursor.swift
/Users/admin/builder/spi-builder-workspace/Sources/SimpleMDM.swift:34:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The main static object representing the SimpleMDM API. Use this to set your private API key.
16 | public class SimpleMDM: NSObject {
| `- note: class 'SimpleMDM' does not conform to the 'Sendable' protocol
17 | // MARK: - Type properties
18 |
:
32 | }
33 |
34 | internal static let shared = SimpleMDM()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
35 |
36 | // MARK: - Instance properties
/Users/admin/builder/spi-builder-workspace/Sources/Cursor.swift:66:13: warning: capture of 'self' with non-sendable type 'Cursor<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | /// }
36 | /// }
37 | public class Cursor<T: ListableResource> {
| `- note: generic class 'Cursor' does not conform to the 'Sendable' protocol
38 | /// Whether the server has more resources available to be fetched.
39 | public private(set) var hasMore = true
:
64 |
65 | serialQueue.async {
66 | self.fetchNextData(networking, limit: limit, completion: completion)
| `- warning: capture of 'self' with non-sendable type 'Cursor<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cursor.swift:66:32: warning: capture of 'networking' with non-sendable type 'Networking' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |
65 | serialQueue.async {
66 | self.fetchNextData(networking, limit: limit, completion: completion)
| `- warning: capture of 'networking' with non-sendable type 'Networking' in a `@Sendable` closure; this is an error in the Swift 6 language mode
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/Networking.swift:26:16: note: class 'Networking' does not conform to the 'Sendable' protocol
24 | /// - Note: You should not instanciate this class directly, but instead use the global instance `SimpleMDM.networking`.
25 | /// This allows the library to re-use a single connection, improving performances.
26 | internal class Networking {
| `- note: class 'Networking' does not conform to the 'Sendable' protocol
27 | var apiKey: String? {
28 | didSet {
/Users/admin/builder/spi-builder-workspace/Sources/Cursor.swift:66:70: warning: capture of 'completion' with non-sendable type 'CompletionClosure<[T]>' (aka '(Result<Array<T>>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |
65 | serialQueue.async {
66 | self.fetchNextData(networking, limit: limit, completion: completion)
| |- warning: capture of 'completion' with non-sendable type 'CompletionClosure<[T]>' (aka '(Result<Array<T>>) -> ()') 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'
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/Decoding.swift:16:48: warning: converting non-sendable function value to '@Sendable (any Decoder) throws -> Date' may introduce data races
14 | init() {
15 | decoder.keyDecodingStrategy = .convertFromSnakeCase
16 | decoder.dateDecodingStrategy = .custom(decodeRFC3339Date)
| `- warning: converting non-sendable function value to '@Sendable (any Decoder) throws -> Date' may introduce data races
17 | }
18 |
[39/44] Compiling SimpleMDM Decoding.swift
/Users/admin/builder/spi-builder-workspace/Sources/SimpleMDM.swift:34:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The main static object representing the SimpleMDM API. Use this to set your private API key.
16 | public class SimpleMDM: NSObject {
| `- note: class 'SimpleMDM' does not conform to the 'Sendable' protocol
17 | // MARK: - Type properties
18 |
:
32 | }
33 |
34 | internal static let shared = SimpleMDM()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
35 |
36 | // MARK: - Instance properties
/Users/admin/builder/spi-builder-workspace/Sources/Cursor.swift:66:13: warning: capture of 'self' with non-sendable type 'Cursor<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | /// }
36 | /// }
37 | public class Cursor<T: ListableResource> {
| `- note: generic class 'Cursor' does not conform to the 'Sendable' protocol
38 | /// Whether the server has more resources available to be fetched.
39 | public private(set) var hasMore = true
:
64 |
65 | serialQueue.async {
66 | self.fetchNextData(networking, limit: limit, completion: completion)
| `- warning: capture of 'self' with non-sendable type 'Cursor<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cursor.swift:66:32: warning: capture of 'networking' with non-sendable type 'Networking' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |
65 | serialQueue.async {
66 | self.fetchNextData(networking, limit: limit, completion: completion)
| `- warning: capture of 'networking' with non-sendable type 'Networking' in a `@Sendable` closure; this is an error in the Swift 6 language mode
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/Networking.swift:26:16: note: class 'Networking' does not conform to the 'Sendable' protocol
24 | /// - Note: You should not instanciate this class directly, but instead use the global instance `SimpleMDM.networking`.
25 | /// This allows the library to re-use a single connection, improving performances.
26 | internal class Networking {
| `- note: class 'Networking' does not conform to the 'Sendable' protocol
27 | var apiKey: String? {
28 | didSet {
/Users/admin/builder/spi-builder-workspace/Sources/Cursor.swift:66:70: warning: capture of 'completion' with non-sendable type 'CompletionClosure<[T]>' (aka '(Result<Array<T>>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |
65 | serialQueue.async {
66 | self.fetchNextData(networking, limit: limit, completion: completion)
| |- warning: capture of 'completion' with non-sendable type 'CompletionClosure<[T]>' (aka '(Result<Array<T>>) -> ()') 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'
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/Decoding.swift:16:48: warning: converting non-sendable function value to '@Sendable (any Decoder) throws -> Date' may introduce data races
14 | init() {
15 | decoder.keyDecodingStrategy = .convertFromSnakeCase
16 | decoder.dateDecodingStrategy = .custom(decodeRFC3339Date)
| `- warning: converting non-sendable function value to '@Sendable (any Decoder) throws -> Date' may introduce data races
17 | }
18 |
[40/44] Compiling SimpleMDM Error.swift
/Users/admin/builder/spi-builder-workspace/Sources/SimpleMDM.swift:34:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | /// The main static object representing the SimpleMDM API. Use this to set your private API key.
16 | public class SimpleMDM: NSObject {
| `- note: class 'SimpleMDM' does not conform to the 'Sendable' protocol
17 | // MARK: - Type properties
18 |
:
32 | }
33 |
34 | internal static let shared = SimpleMDM()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SimpleMDM' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
35 |
36 | // MARK: - Instance properties
/Users/admin/builder/spi-builder-workspace/Sources/Cursor.swift:66:13: warning: capture of 'self' with non-sendable type 'Cursor<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 | /// }
36 | /// }
37 | public class Cursor<T: ListableResource> {
| `- note: generic class 'Cursor' does not conform to the 'Sendable' protocol
38 | /// Whether the server has more resources available to be fetched.
39 | public private(set) var hasMore = true
:
64 |
65 | serialQueue.async {
66 | self.fetchNextData(networking, limit: limit, completion: completion)
| `- warning: capture of 'self' with non-sendable type 'Cursor<T>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/Cursor.swift:66:32: warning: capture of 'networking' with non-sendable type 'Networking' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |
65 | serialQueue.async {
66 | self.fetchNextData(networking, limit: limit, completion: completion)
| `- warning: capture of 'networking' with non-sendable type 'Networking' in a `@Sendable` closure; this is an error in the Swift 6 language mode
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/Networking.swift:26:16: note: class 'Networking' does not conform to the 'Sendable' protocol
24 | /// - Note: You should not instanciate this class directly, but instead use the global instance `SimpleMDM.networking`.
25 | /// This allows the library to re-use a single connection, improving performances.
26 | internal class Networking {
| `- note: class 'Networking' does not conform to the 'Sendable' protocol
27 | var apiKey: String? {
28 | didSet {
/Users/admin/builder/spi-builder-workspace/Sources/Cursor.swift:66:70: warning: capture of 'completion' with non-sendable type 'CompletionClosure<[T]>' (aka '(Result<Array<T>>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 |
65 | serialQueue.async {
66 | self.fetchNextData(networking, limit: limit, completion: completion)
| |- warning: capture of 'completion' with non-sendable type 'CompletionClosure<[T]>' (aka '(Result<Array<T>>) -> ()') 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'
67 | }
68 | }
/Users/admin/builder/spi-builder-workspace/Sources/Decoding.swift:16:48: warning: converting non-sendable function value to '@Sendable (any Decoder) throws -> Date' may introduce data races
14 | init() {
15 | decoder.keyDecodingStrategy = .convertFromSnakeCase
16 | decoder.dateDecodingStrategy = .custom(decodeRFC3339Date)
| `- warning: converting non-sendable function value to '@Sendable (any Decoder) throws -> Date' may introduce data races
17 | }
18 |
[41/44] Compiling SimpleMDM CustomAttributeValue.swift
[42/44] Compiling SimpleMDM CustomConfigurationProfile.swift
[43/44] Compiling SimpleMDM PushCertificate.swift
[44/44] Compiling SimpleMDM Resource.generated.swift
Build complete! (15.48s)
Build complete.
{
"dependencies" : [
{
"identity" : "promisekit",
"requirement" : {
"range" : [
{
"lower_bound" : "6.8.0",
"upper_bound" : "7.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/mxcl/PromiseKit.git"
}
],
"manifest_display_name" : "SimpleMDM-Swift",
"name" : "SimpleMDM-Swift",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "11.0"
},
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "tvos",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "4.0"
}
],
"products" : [
{
"name" : "SimpleMDM",
"targets" : [
"SimpleMDM"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "SimpleMDM_Tests",
"module_type" : "SwiftTarget",
"name" : "SimpleMDM-Tests",
"path" : "Tests",
"sources" : [
"APIKeyTests.swift",
"CursorTests.swift",
"DecodingTests.swift",
"FieldTypes/VersionTests.swift",
"NetworkingTests.swift",
"PromiseKit/SimpleMDM+PromiseKitTests.swift",
"PromiseKit/SimpleMDMSingleton+PromiseKitTests.swift",
"Resources/AccountTests.swift",
"Resources/AppGroupTests.swift",
"Resources/AppTests.swift",
"Resources/CustomAttributeTests.swift",
"Resources/CustomConfigurationProfileTests.swift",
"Resources/DeviceGroupTests.swift",
"Resources/DeviceTests.swift",
"Resources/InstalledAppTests.swift",
"Resources/PushCertificateTests.swift",
"Resources/ResourcesTests.swift",
"SimpleMDMSingletonTests.swift",
"Tools/ResourceMock.swift",
"Tools/URLSessionMock.swift",
"Tools/Utils.swift"
],
"target_dependencies" : [
"SimpleMDM"
],
"type" : "test"
},
{
"c99name" : "SimpleMDM",
"module_type" : "SwiftTarget",
"name" : "SimpleMDM",
"path" : "Sources",
"product_dependencies" : [
"PromiseKit"
],
"product_memberships" : [
"SimpleMDM"
],
"sources" : [
"Cursor.swift",
"Decoding.swift",
"Error.swift",
"Extensions/SimpleMDM+PromiseKit.swift",
"FieldTypes/Version.swift",
"Networking.swift",
"Payload.swift",
"Relationship.swift",
"Resources/Account.swift",
"Resources/App.swift",
"Resources/AppGroup.swift",
"Resources/CustomAttribute.swift",
"Resources/CustomAttributeValue.swift",
"Resources/CustomConfigurationProfile.swift",
"Resources/Device.swift",
"Resources/DeviceGroup.swift",
"Resources/InstalledApp.swift",
"Resources/ManagedConfig.swift",
"Resources/PushCertificate.swift",
"Resources/Resource.generated.swift",
"Resources/Resource.swift",
"SimpleMDM.swift",
"URL+CustomInit.swift",
"URLSession.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.