The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Bluetooth, reference 0.1.1 (80f00e), with Swift 6.4 for Linux on 26 Sep 2026 07:11:00 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344843-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/wendylabsinc/bluetooth.git
Reference: 0.1.1
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/wendylabsinc/bluetooth
 * tag               0.1.1      -> FETCH_HEAD
HEAD is now at 80f00e2 Merge pull request #7 from wendylabsinc/jo/check-entitlements
Cloned https://github.com/wendylabsinc/bluetooth.git
Revision (git rev-parse @):
80f00e21d87d0579af820024536153ffc828d2d5
SUCCESS checkout https://github.com/wendylabsinc/bluetooth.git at 0.1.1
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.4
Building package at path:  $PWD
https://github.com/wendylabsinc/bluetooth.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344843-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/apple/swift-argument-parser.git
Fetching https://github.com/wendylabsinc/dbus.git
[1/8165] Fetching swift-log
Fetched https://github.com/apple/swift-log.git (0.48s)
[1/18945] Fetching swift-argument-parser
[18946/20233] Fetching swift-argument-parser, dbus
[19101/106405] Fetching swift-argument-parser, dbus, swift-nio
Fetched https://github.com/wendylabsinc/dbus.git (1.06s)
[23254/105117] Fetching swift-argument-parser, swift-nio
Fetched https://github.com/apple/swift-argument-parser.git (1.07s)
[5171/86172] Fetching swift-nio
Fetched https://github.com/apple/swift-nio.git (3.12s)
Computing version for https://github.com/wendylabsinc/dbus.git
Computed https://github.com/wendylabsinc/dbus.git at 0.4.1 (3.30s)
Fetching https://github.com/apple/swift-crypto.git
Fetching https://github.com/apple/swift-algorithms.git
Fetching https://github.com/apple/swift-nio-extras.git
[1/18562] Fetching swift-crypto
[2/25255] Fetching swift-crypto, swift-nio-extras
[5831/31414] Fetching swift-crypto, swift-nio-extras, swift-algorithms
Fetched https://github.com/apple/swift-algorithms.git (0.55s)
Fetched https://github.com/apple/swift-nio-extras.git (0.55s)
[2042/18562] Fetching swift-crypto
Fetched https://github.com/apple/swift-crypto.git (1.14s)
Computing version for https://github.com/apple/swift-algorithms.git
Computed https://github.com/apple/swift-algorithms.git at 1.2.1 (2.19s)
Fetching https://github.com/apple/swift-numerics.git
[1/6640] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics.git (1.13s)
Computing version for https://github.com/apple/swift-numerics.git
Computed https://github.com/apple/swift-numerics.git at 1.1.1 (1.28s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.8.2 (0.17s)
Computing version for https://github.com/apple/swift-nio-extras.git
Computed https://github.com/apple/swift-nio-extras.git at 1.35.1 (1.17s)
Fetching https://github.com/apple/swift-nio-http2.git
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/swift-server/swift-service-lifecycle.git
Fetching https://github.com/apple/swift-async-algorithms.git
[1/2843] Fetching swift-service-lifecycle
[2731/4728] Fetching swift-service-lifecycle, swift-atomics
[4692/16983] Fetching swift-service-lifecycle, swift-atomics, swift-nio-http2
Fetched https://github.com/apple/swift-atomics.git (0.57s)
[4804/15098] Fetching swift-service-lifecycle, swift-nio-http2
Fetching https://github.com/apple/swift-http-structured-headers.git
Fetching https://github.com/apple/swift-http-types.git
Fetching https://github.com/apple/swift-asn1.git
Fetched https://github.com/apple/swift-nio-http2.git (0.88s)
Fetching https://github.com/apple/swift-nio-ssl.git
[1/6737] Fetching swift-async-algorithms
[406/7990] Fetching swift-async-algorithms, swift-http-structured-headers
Fetched https://github.com/apple/swift-http-structured-headers.git (0.50s)
Fetching https://github.com/apple/swift-certificates.git
[2224/6737] Fetching swift-async-algorithms
Fetched https://github.com/swift-server/swift-service-lifecycle.git (1.14s)
Fetched https://github.com/apple/swift-async-algorithms.git (1.14s)
[1/1939] Fetching swift-http-types
[1940/9517] Fetching swift-http-types, swift-certificates
[9518/26386] Fetching swift-http-types, swift-certificates, swift-nio-ssl
Fetched https://github.com/apple/swift-certificates.git (0.60s)
[2614/18808] Fetching swift-http-types, swift-nio-ssl
[3121/20794] Fetching swift-http-types, swift-nio-ssl, swift-asn1
Fetched https://github.com/apple/swift-http-types.git (1.02s)
Fetched https://github.com/apple/swift-asn1.git (1.02s)
[5905/16869] Fetching swift-nio-ssl
Fetched https://github.com/apple/swift-nio-ssl.git (1.39s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.1 (2.44s)
Computing version for https://github.com/swift-server/swift-service-lifecycle.git
Computed https://github.com/swift-server/swift-service-lifecycle.git at 2.12.0 (0.17s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.15.1 (0.18s)
Computing version for https://github.com/apple/swift-async-algorithms.git
Computed https://github.com/apple/swift-async-algorithms.git at 1.1.6 (0.20s)
Fetching https://github.com/apple/swift-collections.git
[1/27779] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git (1.17s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.7.1 (1.47s)
Computing version for https://github.com/apple/swift-http-structured-headers.git
Computed https://github.com/apple/swift-http-structured-headers.git at 1.7.0 (0.18s)
Computing version for https://github.com/apple/swift-http-types.git
Computed https://github.com/apple/swift-http-types.git at 1.8.0 (0.20s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (0.20s)
Computing version for https://github.com/apple/swift-nio-ssl.git
Computed https://github.com/apple/swift-nio-ssl.git at 2.37.5 (0.22s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.103.0 (0.33s)
Fetching https://github.com/apple/swift-system.git
[1/6983] Fetching swift-system
Fetched https://github.com/apple/swift-system.git (0.70s)
Computing version for https://github.com/apple/swift-certificates.git
Computed https://github.com/apple/swift-certificates.git at 1.21.0 (0.95s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 4.5.2 (0.28s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.8.1 (0.21s)
Computing version for https://github.com/apple/swift-nio-http2.git
Computed https://github.com/apple/swift-nio-http2.git at 1.46.0 (0.19s)
Creating working copy for https://github.com/apple/swift-nio-extras.git
Working copy of https://github.com/apple/swift-nio-extras.git resolved at 1.35.1
Creating working copy for https://github.com/apple/swift-nio-http2.git
Working copy of https://github.com/apple/swift-nio-http2.git resolved at 1.46.0
Creating working copy for https://github.com/apple/swift-async-algorithms.git
Working copy of https://github.com/apple/swift-async-algorithms.git resolved at 1.1.6
Creating working copy for https://github.com/apple/swift-certificates.git
Working copy of https://github.com/apple/swift-certificates.git resolved at 1.21.0
Creating working copy for https://github.com/apple/swift-http-types.git
Working copy of https://github.com/apple/swift-http-types.git resolved at 1.8.0
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.103.0
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.15.1
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.7.3
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.3.1
Creating working copy for https://github.com/apple/swift-numerics.git
Working copy of https://github.com/apple/swift-numerics.git resolved at 1.1.1
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.8.1
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 4.5.2
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.8.2
Creating working copy for https://github.com/swift-server/swift-service-lifecycle.git
Working copy of https://github.com/swift-server/swift-service-lifecycle.git resolved at 2.12.0
Creating working copy for https://github.com/apple/swift-http-structured-headers.git
Working copy of https://github.com/apple/swift-http-structured-headers.git resolved at 1.7.0
Creating working copy for https://github.com/apple/swift-nio-ssl.git
Working copy of https://github.com/apple/swift-nio-ssl.git resolved at 2.37.5
Creating working copy for https://github.com/wendylabsinc/dbus.git
Working copy of https://github.com/wendylabsinc/dbus.git resolved at 0.4.1
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.7.1
Creating working copy for https://github.com/apple/swift-algorithms.git
Working copy of https://github.com/apple/swift-algorithms.git resolved at 1.2.1
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 1400]
[Planning 1139 / 1400]
[Planning deferred tasks]
[Constructing 3288 / 3294]
[218 / 828] Atomics
[250 / 874] Logging
[251 / 874] _NIOBase64
[261 / 874] _NIODataStructures
[263 / 874] _NIODataStructures
[279 / 874] RealModule
[280 / 874] RealModule
[293 / 875] NIOConcurrencyHelpers
[297 / 875] NIOConcurrencyHelpers
[299 / 876] RealModule
[300 / 876] RealModule
[302 / 876] Logging
[308 / 877] _NIODataStructures
[312 / 877] _NIODataStructures
[319 / 878] Algorithms
[328 / 887] CXKCP
[331 / 887] CryptoBoringWrapper
[333 / 888] Logging
[338 / 888] Logging
[340 / 889] InternalCollectionsUtilities
[351 / 889] CNIOWASI
[363 / 894] CNIOLinux
[378 / 894] CNIODarwin
[385 / 896] RealModule
[390 / 918] ArgumentParserToolInfo
[391 / 918] CryptoBoringWrapper
[393 / 918] CryptoBoringWrapper
[396 / 919] ArgumentParserToolInfo
[402 / 919] CCryptoBoringSSL
[404 / 919] CCryptoBoringSSL
[408 / 919] CCryptoBoringSSL
[410 / 919] CCryptoBoringSSL
[413 / 919] CCryptoBoringSSL
[420 / 919] CCryptoBoringSSL
[421 / 919] CCryptoBoringSSL
[431 / 919] Atomics
[435 / 919] CCryptoBoringSSL
[437 / 919] CCryptoBoringSSL
[438 / 919] CCryptoBoringSSL
[441 / 919] CCryptoBoringSSL
[446 / 919] CCryptoBoringSSL
[451 / 919] CCryptoBoringSSL
[459 / 919] CCryptoBoringSSL
[462 / 919] CCryptoBoringSSL
[463 / 919] CCryptoBoringSSL
[467 / 919] CCryptoBoringSSL
[471 / 919] CCryptoBoringSSL
[472 / 919] CCryptoBoringSSL
[475 / 919] CCryptoBoringSSL
[479 / 919] CCryptoBoringSSL
[481 / 919] CCryptoBoringSSL
[484 / 919] CCryptoBoringSSL
[489 / 919] CCryptoBoringSSL
[494 / 919] CCryptoBoringSSL
[499 / 919] CCryptoBoringSSL
[502 / 919] CCryptoBoringSSL
[504 / 919] CCryptoBoringSSL
[514 / 919] CCryptoBoringSSL
[525 / 919] CCryptoBoringSSL
[541 / 919] CCryptoBoringSSL
[544 / 919] CCryptoBoringSSL
[547 / 919] CCryptoBoringSSL
[551 / 919] CCryptoBoringSSL
[554 / 919] CCryptoBoringSSL
[557 / 919] CCryptoBoringSSL
[562 / 919] CCryptoBoringSSL
[565 / 919] CCryptoBoringSSL
[570 / 919] CCryptoBoringSSL
[572 / 919] CCryptoBoringSSL
[574 / 919] CCryptoBoringSSL
[579 / 919] CCryptoBoringSSL
[581 / 919] CCryptoBoringSSL
[582 / 919] CCryptoBoringSSL
[585 / 919] CCryptoBoringSSL
[591 / 919] CCryptoBoringSSL
[598 / 919] CCryptoBoringSSL
[602 / 919] CCryptoBoringSSL
[605 / 919] CCryptoBoringSSL
[610 / 919] CCryptoBoringSSL
[616 / 919] CCryptoBoringSSL
[623 / 919] CCryptoBoringSSL
[635 / 919] CCryptoBoringSSL
[649 / 919] CCryptoBoringSSL
[654 / 919] CCryptoBoringSSL
[659 / 919] CCryptoBoringSSL
[661 / 919] CCryptoBoringSSL
[663 / 919] CCryptoBoringSSL
[667 / 919] CCryptoBoringSSL
[669 / 919] CCryptoBoringSSL
[674 / 919] CCryptoBoringSSL
[675 / 919] CCryptoBoringSSL
[678 / 919] CCryptoBoringSSL
[681 / 919] CCryptoBoringSSL
[686 / 919] CCryptoBoringSSL
[688 / 919] CCryptoBoringSSL
[695 / 919] CCryptoBoringSSL
[705 / 919] CCryptoBoringSSL
[712 / 919] CCryptoBoringSSL
[715 / 919] CCryptoBoringSSL
[720 / 919] CCryptoBoringSSL
[724 / 919] CCryptoBoringSSL
[727 / 919] CCryptoBoringSSL
[730 / 919] CCryptoBoringSSL
[736 / 919] CCryptoBoringSSL
[746 / 919] CCryptoBoringSSL
[753 / 919] CCryptoBoringSSL
[758 / 919] CCryptoBoringSSL
[760 / 919] CCryptoBoringSSL
[761 / 919] CCryptoBoringSSL
[764 / 919] CCryptoBoringSSL
[769 / 919] CCryptoBoringSSL
[773 / 919] CryptoBoringWrapper
[777 / 919] CCryptoBoringSSL
[778 / 919] CCryptoBoringSSL
[779 / 919] Crypto
[781 / 919] Crypto
[785 / 919] Atomics
[786 / 919] Atomics
[788 / 919] Atomics-product
[791 / 919] Atomics
[795 / 930] DequeModule
[797 / 939] DequeModule
[798 / 939] DequeModule
[800 / 940] DequeModule
[802 / 940] DequeModule
[804 / 941] Atomics
[808 / 942] Atomics
[812 / 942] ArgumentParserToolInfo
[815 / 942] Algorithms
[816 / 942] Algorithms
[818 / 942] Algorithms
[820 / 942] Algorithms
[827 / 943] ArgumentParser
[828 / 952] Atomics
[829 / 953] Algorithms
[831 / 953] ArgumentParser
[831 / 953] Algorithms
[842 / 953] CCryptoBoringSSL
[845 / 953] CCryptoBoringSSL
[849 / 954] ArgumentParser-product
[853 / 954] DequeModule
[859 / 964] NIOCore
[860 / 964] NIOCore
[860 / 964] ArgumentParser
[861 / 964] ArgumentParser
[864 / 964] NIOCore
[865 / 964] NIOCore
[866 / 965] NIOCore
[869 / 965] NIOCore
[870 / 965] NIOCore
[870 / 966] NIOCore
[889 / 985] NIOCore
[891 / 985] NIOFoundationEssentialsCompat
[892 / 985] NIOEmbedded
[903 / 985] NIOPosix
[905 / 986] NIOPosix
[906 / 986] NIOPosix
[907 / 987] NIOFoundationEssentialsCompat
[913 / 987] NIOEmbedded
[913 / 987] NIOPosix
[926 / 990] NIO
[932 / 1006] NIOPosix
[935 / 1006] NIOFoundationCompat
[936 / 1006] NIOFoundationCompat
[937 / 1006] NIOHTTP1
[944 / 1006] NIOHTTP1
[951 / 1006] NIOHTTP1
[952 / 1006] NIOHTTP1-product
[958 / 1017] NIOExtras
[960 / 1017] NIOExtras
[962 / 1017] NIOExtras
[963 / 1017] NIOPosix
[965 / 1018] NIOPosix
[974 / 1019] NIOPosix
[976 / 1020] DBUS
[979 / 1028] DBUS
[980 / 1028] NIOExtras
[983 / 1028] DBUS
[986 / 1028] NIOHTTP1
[987 / 1029] DBUS
[994 / 1030]
[1000 / 1040] DBUS
[1001 / 1040] NIOExtras
[1004 / 1040] Bluetooth
[1005 / 1040] Bluetooth
[1006 / 1040]
[1016 / 1046] BluetoothL2CAPClientExample-product
[1017 / 1046] DBUS
[1025 / 1054] BluetoothDiscoveryExample-product
[1026 / 1056] BluetoothCentralPairingExample-product
[1031 / 1056] DBUS
[1033 / 1056] BluetoothCentralPairingExample-product
[1040 / 1060]
[1040 / 1060] BluetoothL2CAPExample-product
[1044 / 1061] BluetoothAdvertisingExample-product
[1044 / 1063] BluetoothCentralPairingExample-product
[1050 / 1063] BluetoothGATTExample-product
[1053 / 1064] BluetoothGATTExample-product
/host/spi-builder-workspace/Sources/Bluetooth/Backends/BlueZ/BlueZAdvertisingController.swift:130:9: warning: no 'async' operations occur within 'await' expression [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
128 |         logger.debug("Advertisement registered successfully")
129 |
130 |         await resumeStartIfNeeded()
    |         `- warning: no 'async' operations occur within 'await' expression [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker\UnnecessaryEffectMarker]8;;\]
131 |         await waitForStop()
132 |
[#UnnecessaryEffectMarker]: <https://docs.swift.org/compiler/documentation/diagnostics/unnecessary-effect-marker>
[1053 / 1064] BluetoothDiscoveryExample-product
/host/spi-builder-workspace/Sources/Bluetooth/Backends/BlueZ/BlueZL2CAP.swift:174:17: warning: capture of 'tryAccept(on:)' with non-Sendable type '(any EventLoop) -> ()' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
172 |               // No connection pending - schedule retry after short delay
173 |               eventLoop.scheduleTask(in: .milliseconds(10)) {
174 |                 tryAccept(on: eventLoop)
    |                 |- warning: capture of 'tryAccept(on:)' with non-Sendable type '(any EventLoop) -> ()' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
175 |               }
176 |             } else {
/host/spi-builder-workspace/Sources/Bluetooth/Backends/BlueZ/BlueZL2CAP.swift:158:14: warning: concurrently-executed local function 'tryAccept(on:)' must be marked as '@Sendable'
156 |     private static func acceptConnection(listenerFD: Int32) async -> Int32 {
157 |       await withCheckedContinuation { continuation in
158 |         func tryAccept(on eventLoop: EventLoop) {
    |              `- warning: concurrently-executed local function 'tryAccept(on:)' must be marked as '@Sendable'
159 |           var addr = sockaddr_l2()
160 |           var length = socklen_t(MemoryLayout<sockaddr_l2>.size)
/host/spi-builder-workspace/Sources/Bluetooth/Backends/BlueZ/BlueZL2CAP.swift:184:11: warning: capture of 'tryAccept(on:)' with non-Sendable type '(any EventLoop) -> ()' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/[1056 / 1065] Bluetooth
diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
182 |         let eventLoop = eventLoopGroup.next()
183 |         eventLoop.execute {
184 |           tryAccept(on: eventLoop)
    |           |- warning: capture of 'tryAccept(on:)' with non-Sendable type '(any EventLoop) -> ()' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
    |           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
185 |         }
186 |       }
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1066 / 1066] Bluetooth-product
[1066 / 1066] BluetoothL2CAPClientExample-product
[1066 / 1066] BluetoothCentralPairingExample-product
Build complete! (50.20 secs)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    },
    {
      "identity" : "dbus",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.3.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/wendylabsinc/dbus.git"
    },
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.70.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.6.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    }
  ],
  "manifest_display_name" : "Bluetooth",
  "name" : "Bluetooth",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "18.0"
    },
    {
      "name" : "macos",
      "version" : "15.0"
    },
    {
      "name" : "tvos",
      "version" : "18.0"
    },
    {
      "name" : "watchos",
      "version" : "11.0"
    },
    {
      "name" : "visionos",
      "version" : "2.0"
    }
  ],
  "products" : [
    {
      "name" : "Bluetooth",
      "targets" : [
        "Bluetooth"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "BluetoothAdvertisingExample",
      "targets" : [
        "BluetoothAdvertisingExample"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "BluetoothGATTExample",
      "targets" : [
        "BluetoothGATTExample"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "BluetoothL2CAPExample",
      "targets" : [
        "BluetoothL2CAPExample"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "BluetoothL2CAPClientExample",
      "targets" : [
        "BluetoothL2CAPClientExample"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "BluetoothDiscoveryExample",
      "targets" : [
        "BluetoothDiscoveryExample"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "BluetoothCentralPairingExample",
      "targets" : [
        "BluetoothCentralPairingExample"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "BluetoothTests",
      "module_type" : "SwiftTarget",
      "name" : "BluetoothTests",
      "path" : "Tests/BluetoothTests",
      "sources" : [
        "BluetoothTests.swift"
      ],
      "target_dependencies" : [
        "Bluetooth"
      ],
      "type" : "test"
    },
    {
      "c99name" : "BluetoothL2CAPExample",
      "module_type" : "SwiftTarget",
      "name" : "BluetoothL2CAPExample",
      "path" : "Examples/L2CAP",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "BluetoothL2CAPExample"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "Bluetooth"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "BluetoothL2CAPClientExample",
      "module_type" : "SwiftTarget",
      "name" : "BluetoothL2CAPClientExample",
      "path" : "Examples/L2CAPClient",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "BluetoothL2CAPClientExample"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "Bluetooth"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "BluetoothGATTExample",
      "module_type" : "SwiftTarget",
      "name" : "BluetoothGATTExample",
      "path" : "Examples/GATT",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "BluetoothGATTExample"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "Bluetooth"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "BluetoothDiscoveryExample",
      "module_type" : "SwiftTarget",
      "name" : "BluetoothDiscoveryExample",
      "path" : "Examples/Discovery",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "BluetoothDiscoveryExample"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "Bluetooth"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "BluetoothCentralPairingExample",
      "module_type" : "SwiftTarget",
      "name" : "BluetoothCentralPairingExample",
      "path" : "Examples/CentralPairing",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "BluetoothCentralPairingExample"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "Bluetooth"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "BluetoothAdvertisingExample",
      "module_type" : "SwiftTarget",
      "name" : "BluetoothAdvertisingExample",
      "path" : "Examples/Advertising",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "BluetoothAdvertisingExample"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "Bluetooth"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "Bluetooth",
      "module_type" : "SwiftTarget",
      "name" : "Bluetooth",
      "path" : "Sources/Bluetooth",
      "product_dependencies" : [
        "DBUS",
        "NIOCore",
        "NIOPosix",
        "NIOFoundationCompat",
        "Logging"
      ],
      "product_memberships" : [
        "Bluetooth",
        "BluetoothAdvertisingExample",
        "BluetoothGATTExample",
        "BluetoothL2CAPExample",
        "BluetoothL2CAPClientExample",
        "BluetoothDiscoveryExample",
        "BluetoothCentralPairingExample"
      ],
      "sources" : [
        "Advertising/AdvertisementData.swift",
        "Advertising/AdvertisingParameters.swift",
        "Advertising/AdvertisingSetConfiguration.swift",
        "Backends/BlueZ/BlueZAdapterSelection.swift",
        "Backends/BlueZ/BlueZAdvertisingController.swift",
        "Backends/BlueZ/BlueZBackend.swift",
        "Backends/BlueZ/BlueZClient.swift",
        "Backends/BlueZ/BlueZGATTServerController.swift",
        "Backends/BlueZ/BlueZL2CAP.swift",
        "Backends/BlueZ/BlueZPeripheralAgentController.swift",
        "Backends/BlueZ/BlueZPeripheralConnectionBackend.swift",
        "Backends/BlueZ/BlueZPeripheralConnectionEventsController.swift",
        "Backends/BlueZ/BlueZScanController.swift",
        "Backends/CoreBluetooth/CoreBluetoothBackend.swift",
        "Backends/Windows/WindowsBackend.swift",
        "BluetoothAddress.swift",
        "BluetoothDevice.swift",
        "BluetoothError.swift",
        "BluetoothOptions.swift",
        "BluetoothState.swift",
        "BluetoothUUID.swift",
        "CentralManager.swift",
        "Connection/ConnectionParameters.swift",
        "Connection/PeripheralConnectionEvent.swift",
        "Connection/PeripheralConnectionState.swift",
        "Discovery/ScanFilter.swift",
        "Discovery/ScanParameters.swift",
        "Discovery/ScanResult.swift",
        "GATT/GATTDefinitions.swift",
        "GATT/GATTError.swift",
        "GATT/GATTServerRequests.swift",
        "GATT/GATTTypes.swift",
        "Internal/Backends/BackendFactory.swift",
        "Internal/Backends/BackendProtocols.swift",
        "Internal/Backends/UnsupportedBackend.swift",
        "Internal/BluetoothLogger.swift",
        "L2CAP/L2CAPTypes.swift",
        "Pairing/PairingRequests.swift",
        "Pairing/PairingState.swift",
        "PeripheralConnection.swift",
        "PeripheralManager.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.2"
}
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Done.