The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of SwiftBluetooth, reference 1.0.0 (c5a9f4), with Swift 6.2 (beta) for macOS (SPM) on 21 Jun 2025 10:05:46 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/exPHAT/SwiftBluetooth.git
Reference: 1.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/exPHAT/SwiftBluetooth
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at c5a9f4e Merge pull request #3 from exPHAT/v1.0.0
Cloned https://github.com/exPHAT/SwiftBluetooth.git
Revision (git rev-parse @):
c5a9f4e5d6d1ffc312ffe26ea1760dc9a9a9673f
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/exPHAT/SwiftBluetooth.git at 1.0.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/exPHAT/SwiftBluetooth.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/4] Write sources
[3/4] Write swift-version-1EA4D86E10B52AF.txt
[5/43] Compiling CoreBluetoothMock CBMPeripheralDelegateProxy.swift
[6/44] Compiling CoreBluetoothMock CBMPeripheralDelegate.swift
[7/44] Compiling SwiftBluetooth CentralManagerDelegate.swift
[8/44] Compiling SwiftBluetooth CentralManagerDelegateWrapper.swift
[9/44] Compiling SwiftBluetooth CentralManager+callback.swift
[10/44] Compiling SwiftBluetooth CentralManager.swift
[11/44] Compiling SwiftBluetooth AsyncSubscriptionQueueMap.swift
[12/44] Compiling SwiftBluetooth CancellableTask.swift
[13/44] Compiling CoreBluetoothMock CBMPeripheralSpec.swift
[14/44] Compiling SwiftBluetooth AsyncSubscription.swift
[15/44] Compiling SwiftBluetooth AsyncSubscriptionQueue.swift
[16/44] Compiling CoreBluetoothMock CBMPeripheralPreview.swift
[17/44] Compiling SwiftBluetooth CBCentralManagerFactory.swift
[18/44] Compiling SwiftBluetooth CentralManager+async.swift
[19/44] Emitting module CoreBluetoothMock
[20/44] Emitting module SwiftBluetooth
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
2 | import CoreBluetooth
3 |
4 | extension CBUUID: @unchecked Sendable { }
  | |- warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
  | `- note: add '@retroactive' to silence this warning
5 |
[21/46] Compiling SwiftBluetooth PeripheralDelegate.swift
[22/46] Compiling SwiftBluetooth PeripheralDelegateWrapper.swift
[23/46] Compiling SwiftBluetooth Peripheral+callback.swift
[24/46] Compiling SwiftBluetooth Peripheral.swift
[25/46] Compiling SwiftBluetooth AsyncStream+first.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
2 | import CoreBluetooth
3 |
4 | extension CBUUID: @unchecked Sendable { }
  | |- warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
  | `- note: add '@retroactive' to silence this warning
5 |
[26/46] Compiling SwiftBluetooth CBUUID+Sendable.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
2 | import CoreBluetooth
3 |
4 | extension CBUUID: @unchecked Sendable { }
  | |- warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
  | `- note: add '@retroactive' to silence this warning
5 |
[27/46] Compiling SwiftBluetooth DispatchQueue+safeSync.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
2 | import CoreBluetooth
3 |
4 | extension CBUUID: @unchecked Sendable { }
  | |- warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
  | `- note: add '@retroactive' to silence this warning
5 |
[28/46] Compiling SwiftBluetooth Peripheral+DiscoveryInfo.swift
[29/46] Compiling SwiftBluetooth Peripheral+async.swift
[31/46] Compiling SwiftBluetooth CentralManagerError.swift
[32/46] Compiling SwiftBluetooth CentralManagerEvent.swift
[33/46] Compiling SwiftBluetooth Characteristic.swift
[34/46] Compiling SwiftBluetooth NotifyingTracker.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift:38:31: warning: capture of non-sendable type 'Key.Type' in an isolated closure
36 |     func recieve(key: Key, withValue value: Value) {
37 |         dispatchQueue.async {
38 |             guard let queue = self.items[key] else { return }
   |                               `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
39 |
40 |             queue.recieve(value)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift:36:10: warning: capture of non-sendable type 'Key.Type' in an isolated closure
34 |     }
35 |
36 |     func recieve(key: Key, withValue value: Value) {
   |          `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
37 |         dispatchQueue.async {
38 |             guard let queue = self.items[key] else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift:38:31: warning: capture of non-sendable type 'Key.Type' in an isolated closure
36 |     func recieve(key: Key, withValue value: Value) {
37 |         dispatchQueue.async {
38 |             guard let queue = self.items[key] else { return }
   |                               `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
39 |
40 |             queue.recieve(value)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift:36:10: warning: capture of non-sendable type 'Key.Type' in an isolated closure
34 |     }
35 |
36 |     func recieve(key: Key, withValue value: Value) {
   |          `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
37 |         dispatchQueue.async {
38 |             guard let queue = self.items[key] else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift:38:31: warning: capture of non-sendable type 'Key.Type' in an isolated closure
36 |     func recieve(key: Key, withValue value: Value) {
37 |         dispatchQueue.async {
38 |             guard let queue = self.items[key] else { return }
   |                               `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
39 |
40 |             queue.recieve(value)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift:36:10: warning: capture of non-sendable type 'Key.Type' in an isolated closure
34 |     }
35 |
36 |     func recieve(key: Key, withValue value: Value) {
   |          `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
37 |         dispatchQueue.async {
38 |             guard let queue = self.items[key] else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/CentralManager/CentralManager+async.swift:68:21: warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure [#SendableClosureCaptures]
66 |             if let timeout = timeout {
67 |                 let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
68 |                     subscription.cancel()
   |                     `- warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure [#SendableClosureCaptures]
69 |                     cont.finish()
70 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
   |                 `- note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
 4 |     public let id = UUID()
 5 |     weak var parent: AsyncSubscriptionQueue<Value>?
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/CentralManager/CentralManager+async.swift:68:21: warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure [#SendableClosureCaptures]
66 |             if let timeout = timeout {
67 |                 let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
68 |                     subscription.cancel()
   |                     `- warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure [#SendableClosureCaptures]
69 |                     cont.finish()
70 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
   |                 `- note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
 4 |     public let id = UUID()
 5 |     weak var parent: AsyncSubscriptionQueue<Value>?
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/CentralManager/CentralManager+async.swift:68:21: warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure [#SendableClosureCaptures]
66 |             if let timeout = timeout {
67 |                 let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
68 |                     subscription.cancel()
   |                     `- warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure [#SendableClosureCaptures]
69 |                     cont.finish()
70 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
   |                 `- note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
 4 |     public let id = UUID()
 5 |     weak var parent: AsyncSubscriptionQueue<Value>?
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[44/46] Compiling CoreBluetoothMock CBMPeripheralSpecDelegate.swift
[45/70] Compiling SwiftBluetooth PeripheralError.swift
[46/70] Compiling SwiftBluetooth PeripheralEvent.swift
[47/70] Emitting module SwiftBluetoothMock
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
2 | import CoreBluetooth
3 |
4 | extension CBUUID: @unchecked Sendable { }
  | |- warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
  | `- note: add '@retroactive' to silence this warning
5 |
[48/72] Compiling SwiftBluetoothMock CoreBluetoothMock.swift
[49/72] Compiling SwiftBluetoothMock AsyncSubscription.swift
[50/72] Compiling SwiftBluetoothMock AsyncSubscriptionQueue.swift
[51/72] Compiling SwiftBluetoothMock AsyncStream+first.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
2 | import CoreBluetooth
3 |
4 | extension CBUUID: @unchecked Sendable { }
  | |- warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
  | `- note: add '@retroactive' to silence this warning
5 |
[52/72] Compiling SwiftBluetoothMock CBUUID+Sendable.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
2 | import CoreBluetooth
3 |
4 | extension CBUUID: @unchecked Sendable { }
  | |- warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
  | `- note: add '@retroactive' to silence this warning
5 |
[53/72] Compiling SwiftBluetoothMock DispatchQueue+safeSync.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Extensions/CBUUID+Sendable.swift:4:1: warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
2 | import CoreBluetooth
3 |
4 | extension CBUUID: @unchecked Sendable { }
  | |- warning: extension declares a conformance of imported type 'CBUUID' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'CoreBluetooth' introduce this conformance in the future
  | `- note: add '@retroactive' to silence this warning
5 |
[54/72] Compiling SwiftBluetoothMock CentralManagerDelegateWrapper.swift
[55/72] Compiling SwiftBluetoothMock CentralManagerError.swift
[56/72] Compiling SwiftBluetoothMock CentralManagerEvent.swift
[57/72] Compiling SwiftBluetoothMock PeripheralError.swift
[58/72] Compiling SwiftBluetoothMock PeripheralEvent.swift
[59/72] Compiling SwiftBluetoothMock AsyncSubscriptionQueueMap.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift:38:31: warning: capture of non-sendable type 'Key.Type' in an isolated closure
36 |     func recieve(key: Key, withValue value: Value) {
37 |         dispatchQueue.async {
38 |             guard let queue = self.items[key] else { return }
   |                               `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
39 |
40 |             queue.recieve(value)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift:36:10: warning: capture of non-sendable type 'Key.Type' in an isolated closure
34 |     }
35 |
36 |     func recieve(key: Key, withValue value: Value) {
   |          `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
37 |         dispatchQueue.async {
38 |             guard let queue = self.items[key] else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+async.swift:68:21: warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure [#SendableClosureCaptures]
66 |             if let timeout = timeout {
67 |                 let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
68 |                     subscription.cancel()
   |                     `- warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure [#SendableClosureCaptures]
69 |                     cont.finish()
70 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
   |                 `- note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
 4 |     public let id = UUID()
 5 |     weak var parent: AsyncSubscriptionQueue<Value>?
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[60/72] Compiling SwiftBluetoothMock CancellableTask.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift:38:31: warning: capture of non-sendable type 'Key.Type' in an isolated closure
36 |     func recieve(key: Key, withValue value: Value) {
37 |         dispatchQueue.async {
38 |             guard let queue = self.items[key] else { return }
   |                               `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
39 |
40 |             queue.recieve(value)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift:36:10: warning: capture of non-sendable type 'Key.Type' in an isolated closure
34 |     }
35 |
36 |     func recieve(key: Key, withValue value: Value) {
   |          `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
37 |         dispatchQueue.async {
38 |             guard let queue = self.items[key] else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+async.swift:68:21: warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure [#SendableClosureCaptures]
66 |             if let timeout = timeout {
67 |                 let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
68 |                     subscription.cancel()
   |                     `- warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure [#SendableClosureCaptures]
69 |                     cont.finish()
70 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
   |                 `- note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
 4 |     public let id = UUID()
 5 |     weak var parent: AsyncSubscriptionQueue<Value>?
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[61/72] Compiling SwiftBluetoothMock CentralManager+async.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift:38:31: warning: capture of non-sendable type 'Key.Type' in an isolated closure
36 |     func recieve(key: Key, withValue value: Value) {
37 |         dispatchQueue.async {
38 |             guard let queue = self.items[key] else { return }
   |                               `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
39 |
40 |             queue.recieve(value)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift:36:10: warning: capture of non-sendable type 'Key.Type' in an isolated closure
34 |     }
35 |
36 |     func recieve(key: Key, withValue value: Value) {
   |          `- warning: capture of non-sendable type 'Key.Type' in an isolated closure
37 |         dispatchQueue.async {
38 |             guard let queue = self.items[key] else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/CentralManager/CentralManager+async.swift:68:21: warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure [#SendableClosureCaptures]
66 |             if let timeout = timeout {
67 |                 let timeoutTimer = Timer(fire: Date() + timeout, interval: 0, repeats: false) { _ in
68 |                     subscription.cancel()
   |                     `- warning: capture of 'subscription' with non-sendable type 'AsyncSubscription<CentralManagerEvent>' in a '@Sendable' closure [#SendableClosureCaptures]
69 |                     cont.finish()
70 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftBluetoothMock/SwiftBluetooth/Async/AsyncSubscription.swift:3:17: note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | internal struct AsyncSubscription<Value>: Identifiable, Equatable, CancellableTask {
   |                 `- note: consider making generic struct 'AsyncSubscription' conform to the 'Sendable' protocol
 4 |     public let id = UUID()
 5 |     weak var parent: AsyncSubscriptionQueue<Value>?
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[62/72] Compiling SwiftBluetoothMock PeripheralDelegate.swift
[63/72] Compiling SwiftBluetoothMock PeripheralDelegateWrapper.swift
[64/72] Compiling SwiftBluetoothMock Peripheral+DiscoveryInfo.swift
[65/72] Compiling SwiftBluetoothMock Peripheral+async.swift
[66/72] Compiling SwiftBluetoothMock Characteristic.swift
[67/72] Compiling SwiftBluetoothMock NotifyingTracker.swift
[68/72] Compiling SwiftBluetoothMock CentralManager+callback.swift
[69/72] Compiling SwiftBluetoothMock CentralManager.swift
[70/72] Compiling SwiftBluetoothMock CentralManagerDelegate.swift
[71/72] Compiling SwiftBluetoothMock Peripheral+callback.swift
[72/72] Compiling SwiftBluetoothMock Peripheral.swift
Build complete! (9.05s)
Fetching https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
[1/6547] Fetching ios-corebluetooth-mock
Fetched https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git from cache (1.18s)
Computing version for https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Computed https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git at 0.17.0 (1.74s)
Creating working copy for https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git
Working copy of https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git resolved at 0.17.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "ios-corebluetooth-mock",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.17.0",
            "upper_bound" : "0.18.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/NordicSemiconductor/IOS-CoreBluetooth-Mock.git"
    }
  ],
  "manifest_display_name" : "SwiftBluetooth",
  "name" : "SwiftBluetooth",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftBluetooth",
      "targets" : [
        "SwiftBluetooth"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftBluetoothTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftBluetoothTests",
      "path" : "Tests/SwiftBluetoothTests",
      "sources" : [
        "CentralPeripheralTestCase.swift",
        "DisconnectedPeripheralTests.swift",
        "Extensions/XCTestCase+withTimeout.swift",
        "LostConnectionPeripheralTests.swift",
        "MockPeripheral.swift",
        "SwiftBluetoothTests.swift"
      ],
      "target_dependencies" : [
        "SwiftBluetoothMock"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftBluetoothMock",
      "module_type" : "SwiftTarget",
      "name" : "SwiftBluetoothMock",
      "path" : "Sources/SwiftBluetoothMock",
      "product_dependencies" : [
        "CoreBluetoothMock"
      ],
      "sources" : [
        "CoreBluetoothMock.swift",
        "SwiftBluetooth/Async/AsyncSubscription.swift",
        "SwiftBluetooth/Async/AsyncSubscriptionQueue.swift",
        "SwiftBluetooth/Async/AsyncSubscriptionQueueMap.swift",
        "SwiftBluetooth/Async/CancellableTask.swift",
        "SwiftBluetooth/CentralManager/CentralManager+async.swift",
        "SwiftBluetooth/CentralManager/CentralManager+callback.swift",
        "SwiftBluetooth/CentralManager/CentralManager.swift",
        "SwiftBluetooth/CentralManager/CentralManagerDelegate.swift",
        "SwiftBluetooth/CentralManager/CentralManagerDelegateWrapper.swift",
        "SwiftBluetooth/CentralManager/CentralManagerError.swift",
        "SwiftBluetooth/CentralManager/CentralManagerEvent.swift",
        "SwiftBluetooth/Extensions/AsyncStream+first.swift",
        "SwiftBluetooth/Extensions/CBUUID+Sendable.swift",
        "SwiftBluetooth/Extensions/DispatchQueue+safeSync.swift",
        "SwiftBluetooth/Peripheral/Characteristic.swift",
        "SwiftBluetooth/Peripheral/NotifyingTracker.swift",
        "SwiftBluetooth/Peripheral/Peripheral+DiscoveryInfo.swift",
        "SwiftBluetooth/Peripheral/Peripheral+async.swift",
        "SwiftBluetooth/Peripheral/Peripheral+callback.swift",
        "SwiftBluetooth/Peripheral/Peripheral.swift",
        "SwiftBluetooth/Peripheral/PeripheralDelegate.swift",
        "SwiftBluetooth/Peripheral/PeripheralDelegateWrapper.swift",
        "SwiftBluetooth/Peripheral/PeripheralError.swift",
        "SwiftBluetooth/Peripheral/PeripheralEvent.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftBluetooth",
      "module_type" : "SwiftTarget",
      "name" : "SwiftBluetooth",
      "path" : "Sources/SwiftBluetooth",
      "product_memberships" : [
        "SwiftBluetooth"
      ],
      "sources" : [
        "Async/AsyncSubscription.swift",
        "Async/AsyncSubscriptionQueue.swift",
        "Async/AsyncSubscriptionQueueMap.swift",
        "Async/CancellableTask.swift",
        "CentralManager/CBCentralManagerFactory.swift",
        "CentralManager/CentralManager+async.swift",
        "CentralManager/CentralManager+callback.swift",
        "CentralManager/CentralManager.swift",
        "CentralManager/CentralManagerDelegate.swift",
        "CentralManager/CentralManagerDelegateWrapper.swift",
        "CentralManager/CentralManagerError.swift",
        "CentralManager/CentralManagerEvent.swift",
        "Extensions/AsyncStream+first.swift",
        "Extensions/CBUUID+Sendable.swift",
        "Extensions/DispatchQueue+safeSync.swift",
        "Peripheral/Characteristic.swift",
        "Peripheral/NotifyingTracker.swift",
        "Peripheral/Peripheral+DiscoveryInfo.swift",
        "Peripheral/Peripheral+async.swift",
        "Peripheral/Peripheral+callback.swift",
        "Peripheral/Peripheral.swift",
        "Peripheral/PeripheralDelegate.swift",
        "Peripheral/PeripheralDelegateWrapper.swift",
        "Peripheral/PeripheralError.swift",
        "Peripheral/PeripheralEvent.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.