The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftAtproto, reference main (99c5cd), with Swift 6.4 for Android on 10 Oct 2026 15:07:43 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/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:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/nnabeyang/swift-atproto.git
Reference: main
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/nnabeyang/swift-atproto
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 99c5cdb Merge pull request #177 from nnabeyang/release/0.44.4
Cloned https://github.com/nnabeyang/swift-atproto.git
Revision (git rev-parse @):
99c5cdb648ea5ac51986ddc81eecc92cc7b96bb2
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/nnabeyang/swift-atproto.git at main
========================================
Build
========================================
Selected platform:         android
Swift version:             6.4
Building package at path:  $PWD
https://github.com/nnabeyang/swift-atproto.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/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:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:34a00a57f57797b403a98b861c3ce940f20735b4cb78ef45654f0d4f3b0c0295
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Fetching https://github.com/apple/swift-crypto
Fetching https://github.com/21-DOT-DEV/swift-secp256k1
Fetching https://github.com/swiftlang/swift-syntax.git
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/swift-libp2p/swift-multibase.git
Fetching https://github.com/apple/swift-http-types.git
[1/1939] Fetching swift-http-types
[2/20559] Fetching swift-http-types, swift-crypto
[3/20873] Fetching swift-http-types, swift-crypto, swift-multibase
[4116/39969] Fetching swift-http-types, swift-crypto, swift-multibase, swift-argument-parser
Fetched https://github.com/apple/swift-http-types.git (0.50s)
Fetching https://github.com/swift-libp2p/swift-cid
[2558/38030] Fetching swift-crypto, swift-multibase, swift-argument-parser
Fetched https://github.com/swift-libp2p/swift-multibase.git (0.78s)
Fetching https://github.com/nnabeyang/swift-cbor.git
Fetched https://github.com/apple/swift-argument-parser (0.79s)
[7076/18620] Fetching swift-crypto
[8194/30057] Fetching swift-crypto, swift-secp256k1
[8195/30399] Fetching swift-crypto, swift-secp256k1, swift-cid
Fetched https://github.com/swift-libp2p/swift-cid (0.37s)
[11859/30057] Fetching swift-crypto, swift-secp256k1
[24569/30496] Fetching swift-crypto, swift-secp256k1, swift-cbor
Fetched https://github.com/nnabeyang/swift-cbor.git (0.34s)
[26055/30057] Fetching swift-crypto, swift-secp256k1
[26284/110472] Fetching swift-crypto, swift-secp256k1, swift-syntax
Fetched https://github.com/apple/swift-crypto (1.48s)
[36366/91852] Fetching swift-secp256k1, swift-syntax
Fetched https://github.com/21-DOT-DEV/swift-secp256k1 (3.26s)
Fetched https://github.com/swiftlang/swift-syntax.git (3.27s)
Computing version for https://github.com/swift-libp2p/swift-multibase.git
Computed https://github.com/swift-libp2p/swift-multibase.git at 0.2.3 (3.42s)
Fetching https://github.com/swift-libp2p/swift-bases.git
[1/672] Fetching swift-bases
Fetched https://github.com/swift-libp2p/swift-bases.git (0.40s)
Computing version for https://github.com/swift-libp2p/swift-cid
Computed https://github.com/swift-libp2p/swift-cid at 0.2.2 (0.54s)
Fetching https://github.com/swift-libp2p/swift-multicodec.git
Fetching https://github.com/swift-libp2p/swift-multihash.git
[1/514] Fetching swift-multihash
[515/1133] Fetching swift-multihash, swift-multicodec
Fetched https://github.com/swift-libp2p/swift-multicodec.git (0.38s)
Fetched https://github.com/swift-libp2p/swift-multihash.git (0.38s)
Computing version for https://github.com/nnabeyang/swift-cbor.git
Computed https://github.com/nnabeyang/swift-cbor.git at 0.3.0 (0.52s)
Computing version for https://github.com/swift-libp2p/swift-bases.git
Computed https://github.com/swift-libp2p/swift-bases.git at 0.3.0 (0.13s)
Computing version for https://github.com/swift-libp2p/swift-multihash.git
Computed https://github.com/swift-libp2p/swift-multihash.git at 0.2.2 (0.14s)
Fetching https://github.com/swift-libp2p/swift-varint.git
Fetching https://github.com/krzyzanowskim/CryptoSwift.git
[1/235] Fetching swift-varint
[236/13674] Fetching swift-varint, cryptoswift
Fetched https://github.com/swift-libp2p/swift-varint.git (1.00s)
Fetched https://github.com/krzyzanowskim/CryptoSwift.git (1.01s)
Computing version for https://github.com/swift-libp2p/swift-multicodec.git
Computed https://github.com/swift-libp2p/swift-multicodec.git at 0.2.2 (1.16s)
Computing version for https://github.com/krzyzanowskim/CryptoSwift.git
Computed https://github.com/krzyzanowskim/CryptoSwift.git at 1.10.0 (0.88s)
Computing version for https://github.com/swift-libp2p/swift-varint.git
Computed https://github.com/swift-libp2p/swift-varint.git at 0.2.1 (0.13s)
Computing version for https://github.com/21-DOT-DEV/swift-secp256k1
Computed https://github.com/21-DOT-DEV/swift-secp256k1 at 0.23.2 (0.19s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 603.0.2 (0.25s)
Computing version for https://github.com/apple/swift-crypto
Computed https://github.com/apple/swift-crypto at 4.5.2 (0.93s)
Fetching https://github.com/apple/swift-asn1.git
[1/2009] Fetching swift-asn1
Fetched https://github.com/apple/swift-asn1.git (0.45s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (0.63s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.15s)
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.17s)
Creating working copy for https://github.com/swift-libp2p/swift-bases.git
Working copy of https://github.com/swift-libp2p/swift-bases.git resolved at 0.3.0
Creating working copy for https://github.com/krzyzanowskim/CryptoSwift.git
Working copy of https://github.com/krzyzanowskim/CryptoSwift.git resolved at 1.10.0
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
Creating working copy for https://github.com/swift-libp2p/swift-multibase.git
Working copy of https://github.com/swift-libp2p/swift-multibase.git resolved at 0.2.3
Creating working copy for https://github.com/swift-libp2p/swift-varint.git
Working copy of https://github.com/swift-libp2p/swift-varint.git resolved at 0.2.1
Creating working copy for https://github.com/nnabeyang/swift-cbor.git
Working copy of https://github.com/nnabeyang/swift-cbor.git resolved at 0.3.0
Creating working copy for https://github.com/apple/swift-crypto
Working copy of https://github.com/apple/swift-crypto resolved at 4.5.2
Creating working copy for https://github.com/swift-libp2p/swift-multihash.git
Working copy of https://github.com/swift-libp2p/swift-multihash.git resolved at 0.2.2
Creating working copy for https://github.com/21-DOT-DEV/swift-secp256k1
Working copy of https://github.com/21-DOT-DEV/swift-secp256k1 resolved at 0.23.2
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/swift-libp2p/swift-multicodec.git
Working copy of https://github.com/swift-libp2p/swift-multicodec.git resolved at 0.2.2
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/swiftlang/swift-syntax.git
Working copy of https://github.com/swiftlang/swift-syntax.git resolved at 603.0.2
Creating working copy for https://github.com/swift-libp2p/swift-cid
Working copy of https://github.com/swift-libp2p/swift-cid resolved at 0.2.2
Downloading package prebuilt https://download.swift.org/prebuilts/swift-syntax/603.0.2/swift-6.4.0-RELEASE-ubuntu_noble_x86_64-MacroSupport.tar.gz
Downloaded https://download.swift.org/prebuilts/swift-syntax/603.0.2/swift-6.4.0-RELEASE-ubuntu_noble_x86_64-MacroSupport.tar.gz (0.18s)
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 1953]
[Planning 1369 / 1953]
[Planning deferred tasks]
[Constructing 2006 / 4610]
[116 / 1119] SwiftSyntax510
[367 / 1126] _SwiftSyntaxCShims
[391 / 1132] SwiftSyntax602
[391 / 1132]
[394 / 1135] libsecp256k1
[405 / 1141] VarInt
[416 / 1141] SwiftSyntax603
[438 / 1162] SwiftSyntax510
[470 / 1190] CryptoBoringWrapper
[474 / 1209] Base8
[478 / 1220] Base64
[486 / 1226] SwiftCbor
[504 / 1230] Base2
[544 / 1230] SwiftSyntax509
[568 / 1236] SwiftSyntax509
[571 / 1236] SwiftCbor
[575 / 1237] HTTPTypes-product
[577 / 1237] HTTPTypes
[582 / 1237] VarInt
[585 / 1238] SwiftCbor
[587 / 1238] SwiftCbor
[592 / 1239] HTTPTypes
[593 / 1239] CryptoSwift
[596 / 1239] CryptoBoringWrapper
[597 / 1239] CryptoBoringWrapper
[599 / 1239] CryptoBoringWrapper
[603 / 1239] CryptoSwift
[607 / 1239] BaseX
[611 / 1240] CryptoBoringWrapper
[615 / 1240] Base64-product
[622 / 1241] Base32
[626 / 1243] Base2-product
[644 / 1244] CXKCPShims
[653 / 1244] CCryptoBoringSSL
[656 / 1246] CCryptoBoringSSL
[660 / 1247] CCryptoBoringSSL
[664 / 1247] CCryptoBoringSSL
[667 / 1247] CCryptoBoringSSL
[672 / 1247] CCryptoBoringSSL
[674 / 1247] CCryptoBoringSSL
[677 / 1247] CCryptoBoringSSL
[680 / 1247] CCryptoBoringSSL
[682 / 1247] CCryptoBoringSSL
[685 / 1247] CCryptoBoringSSL
[687 / 1247] CCryptoBoringSSL
[690 / 1247] CCryptoBoringSSL
[703 / 1247] CCryptoBoringSSL
[706 / 1247] CCryptoBoringSSL
[710 / 1247] CCryptoBoringSSL
[713 / 1247] CCryptoBoringSSL
[714 / 1247] CCryptoBoringSSL
[715 / 1247] CCryptoBoringSSL
[717 / 1247] CCryptoBoringSSL
[722 / 1247] CCryptoBoringSSL
[723 / 1247] CCryptoBoringSSL
[726 / 1247] CCryptoBoringSSL
[729 / 1247] CCryptoBoringSSL
[733 / 1247] CCryptoBoringSSL
[737 / 1247] CCryptoBoringSSL
[738 / 1247] CCryptoBoringSSL
[739 / 1247] CCryptoBoringSSL
[743 / 1247] CCryptoBoringSSL
[745 / 1247] CCryptoBoringSSL
[746 / 1247] CCryptoBoringSSL
[750 / 1247] CCryptoBoringSSL
[756 / 1247] CCryptoBoringSSL
[765 / 1247] CCryptoBoringSSL
[780 / 1247] CCryptoBoringSSL
[784 / 1247] CCryptoBoringSSL
[791 / 1247] CCryptoBoringSSL
[793 / 1247] CCryptoBoringSSL
[798 / 1247] CCryptoBoringSSL
[801 / 1247] CCryptoBoringSSL
[804 / 1247] CCryptoBoringSSL
[805 / 1247] CCryptoBoringSSL
[807 / 1247] CCryptoBoringSSL
[810 / 1247] CCryptoBoringSSL
[814 / 1247] CCryptoBoringSSL
[817 / 1247] CCryptoBoringSSL
[820 / 1247] CCryptoBoringSSL
[822 / 1247] CCryptoBoringSSL
[826 / 1247] CCryptoBoringSSL
[828 / 1247] CCryptoBoringSSL
[834 / 1247] CCryptoBoringSSL
[841 / 1247] CCryptoBoringSSL
[845 / 1247] CCryptoBoringSSL
[849 / 1247] CCryptoBoringSSL
[854 / 1247] CCryptoBoringSSL
[856 / 1247] CCryptoBoringSSL
[857 / 1247] CCryptoBoringSSL
[861 / 1247] CCryptoBoringSSL
[874 / 1247] CCryptoBoringSSL
[879 / 1247] CCryptoBoringSSL
[883 / 1247] CCryptoBoringSSL
[888 / 1247] CCryptoBoringSSL
[892 / 1247] CCryptoBoringSSL
[893 / 1247] CCryptoBoringSSL
[898 / 1247] CCryptoBoringSSL
[900 / 1247] CCryptoBoringSSL
[904 / 1247] CCryptoBoringSSL
[907 / 1247] CCryptoBoringSSL
[911 / 1247] CCryptoBoringSSL
[913 / 1247] CCryptoBoringSSL
[914 / 1247] CCryptoBoringSSL
[919 / 1247] CCryptoBoringSSL
[922 / 1247] CCryptoBoringSSL
[926 / 1247] CCryptoBoringSSL
[928 / 1247] CCryptoBoringSSL
[929 / 1247] CCryptoBoringSSL
[933 / 1247] CCryptoBoringSSL
[941 / 1247] CCryptoBoringSSL
[951 / 1247] CCryptoBoringSSL
[956 / 1247] CCryptoBoringSSL
[958 / 1247] CCryptoBoringSSL
[963 / 1247] CCryptoBoringSSL
[966 / 1247] CCryptoBoringSSL
[969 / 1247] CCryptoBoringSSL
[971 / 1247] CCryptoBoringSSL
[973 / 1247] CCryptoBoringSSL
[982 / 1247] CCryptoBoringSSL
[991 / 1247] CCryptoBoringSSL
[1001 / 1247] CCryptoBoringSSL
[1002 / 1247] CCryptoBoringSSL
[1003 / 1247] CCryptoBoringSSL
[1006 / 1247] CCryptoBoringSSL
[1008 / 1247] CCryptoBoringSSL
[1010 / 1247] CCryptoBoringSSL
[1013 / 1247] CCryptoBoringSSL
[1016 / 1247] CCryptoBoringSSL
[1028 / 1250] Multicodec
[1032 / 1272] SwiftSyntax
[1034 / 1272] CCryptoBoringSSL
[1037 / 1272] SwiftSyntax
[1038 / 1272] Multicodec
[1039 / 1272] SwiftSyntax
[1045 / 1272] SwiftSyntax
[1046 / 1272] SwiftSyntax
[1047 / 1272] SwiftSyntax
[1049 / 1272] CCryptoBoringSSL
[1051 / 1272] SwiftSyntax
[1053 / 1272] SwiftSyntax
[1054 / 1272] SwiftSyntax
[1056 / 1272] SwiftSyntax
[1061 / 1272] SwiftSyntax
[1066 / 1272] SwiftSyntax-product
[1070 / 1277] Multibase
[1070 / 1286] Multibase
[1076 / 1286] SwiftSyntax602
[1084 / 1286] Multibase
[1085 / 1287] Multibase-product
[1087 / 1287] Multihash
[1089 / 1287] Crypto-product
[1090 / 1287] SwiftSyntax
[1091 / 1287] Crypto-product
[1093 / 1287] Crypto
[1094 / 1287] Crypto
[1094 / 1287] Base32
[1096 / 1297] SwiftSyntax
[1097 / 1297] ArgumentParser
[1101 / 1297] ArgumentParser
[1105 / 1297] ArgumentParser
[1106 / 1297] ArgumentParser-product
[1108 / 1298] Crypto
[1109 / 1298] ArgumentParser
[1111 / 1298]
[1114 / 1312] SwiftParser
[1115 / 1321] SwiftParser
[1115 / 1321] ArgumentParser
[1119 / 1339] SwiftDiagnostics
[1123 / 1347] SwiftDiagnostics
[1139 / 1347] SwiftParser
[1140 / 1347] SwiftParser
[1143 / 1347] SwiftParser
[1148 / 1347] SwiftParser
[1153 / 1347] SwiftParser
[1154 / 1347] SwiftParser
[1155 / 1347] SwiftParser
[1156 / 1347] SwiftParser
[1157 / 1348] SwiftSyntax
[1158 / 1348] SwiftSyntax
[1161 / 1348] SwiftParser
[1163 / 1348] SwiftSyntax
[1164 / 1349] SwiftParser
[1164 / 1349] SwiftSyntax
[1167 / 1349] SwiftParser
[1169 / 1349] SwiftDiagnostics
[1170 / 1349] SwiftDiagnostics
[1172 / 1349] SwiftOperators
[1176 / 1349] SwiftDiagnostics
[1178 / 1349] SwiftDiagnostics
[1181 / 1349] SwiftDiagnostics
[1184 / 1350] SwiftDiagnostics
[1188 / 1350] SwiftBasicFormat
[1189 / 1350] SwiftBasicFormat
[1196 / 1354] SwiftBasicFormat
[1200 / 1372] P256K
[1210 / 1372] SwiftBasicFormat
[1216 / 1373] SwiftBasicFormat
[1217 / 1373] SwiftBasicFormat
[1220 / 1373] SwiftBasicFormat-product
[1223 / 1374] SwiftParser
[1223 / 1374] SwiftBasicFormat
[1229 / 1375] P256K
[1236 / 1375] P256K
[1237 / 1375] P256K-product
[1242 / 1378] SwiftParserDiagnostics
[1248 / 1396] SwiftOperators
[1250 / 1396] SwiftParserDiagnostics
[1251 / 1396] SwiftParserDiagnostics
[1263 / 1397] P256K
[1263 / 1397] SwiftSyntaxBuilder
[1265 / 1397] SwiftOperators
[1266 / 1397] SwiftOperators
[1269 / 1397] SwiftOperators
[1271 / 1397] P256K
[1278 / 1407] ArgumentParser
[1283 / 1408] SwiftParserDiagnostics
[1285 / 1408] SwiftParserDiagnostics
[1292 / 1409] SwiftParserDiagnostics
[1301 / 1420] CID
[1303 / 1420] CID
[1305 / 1422] SwiftSyntaxBuilder
[1307 / 1423] CID
[1310 / 1423] CID
[1325 / 1425] SwiftSyntax
[1326 / 1434] SwiftSyntaxBuilder
[1330 / 1437] SwiftSyntaxBuilder
[1333 / 1437] SwiftSyntaxBuilder
[1334 / 1438] ATProtoCrypto
[1336 / 1439] ATProtoCrypto
[1342 / 1439] SwiftSyntaxBuilder
[1353 / 1440] SwiftIfConfig
[1359 / 1460] SwiftAtproto
[1362 / 1460] SwiftIfConfig
[1366 / 1461] SwiftIfConfig
[1372 / 1461] SwiftSyntaxMacros
[1377 / 1462] SwiftAtproto
[1385 / 1462] SwiftAtproto-product
[1386 / 1463] SwiftAtproto
[1396 / 1465] SwiftOperators
[1396 / 1468] SwiftAtprotoLex
[1402 / 1483] SwiftSyntaxMacros
[1404 / 1483] SwiftSyntaxMacros
[1407 / 1484] SwiftSyntaxMacros
[1414 / 1484] SwiftSyntaxMacros-product
[1420 / 1485] SwiftSyntaxMacros
[1424 / 1485] SwiftParserDiagnostics
[1428 / 1486] SwiftParserDiagnostics
[1432 / 1495] SwiftSyntaxMacroExpansion
[1434 / 1495] SwiftSyntaxMacroExpansion
[1434 / 1495] SwiftAtprotoLex
[1438 / 1495] SwiftSyntaxMacroExpansion
[1449 / 1495] swift-atproto-product
[1451 / 1496] SwiftSyntaxMacroExpansion
[1457 / 1499] swift-atproto-product
[1468 / 1510] swift-atproto-product
[1470 / 1510] swift-atproto-product
[1472 / 1510] SwiftCompilerPluginMessageHandling
[1483 / 1511] ATProtoCrypto-product
[1485 / 1513] SwiftAtprotoLex
[1493 / 1515] SwiftCompilerPlugin
[1496 / 1515] SwiftCompilerPluginMessageHandling
[1505 / 1517] Macros
[1508 / 1519] Macros
[1512 / 1520] Macros
[1520 / 1523] ATProtoMacro
Build complete! (67.20 secs)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-cbor",
      "requirement" : {
        "exact" : [
          "0.3.0"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/nnabeyang/swift-cbor.git"
    },
    {
      "identity" : "swift-cid",
      "requirement" : {
        "exact" : [
          "0.2.2"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swift-libp2p/swift-cid"
    },
    {
      "identity" : "swift-multibase",
      "requirement" : {
        "exact" : [
          "0.2.3"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swift-libp2p/swift-multibase.git"
    },
    {
      "identity" : "swift-syntax",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "600.0.0",
            "upper_bound" : "604.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-syntax.git"
    },
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    },
    {
      "identity" : "swift-crypto",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-crypto"
    },
    {
      "identity" : "swift-secp256k1",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.23.0",
            "upper_bound" : "0.24.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/21-DOT-DEV/swift-secp256k1"
    },
    {
      "identity" : "swift-http-types",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-http-types.git"
    }
  ],
  "manifest_display_name" : "SwiftAtproto",
  "name" : "SwiftAtproto",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "ios",
      "version" : "17.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftAtproto",
      "targets" : [
        "SwiftAtproto"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ATProtoCrypto",
      "targets" : [
        "ATProtoCrypto"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ATProtoMacro",
      "targets" : [
        "ATProtoMacro"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "swift-atproto",
      "targets" : [
        "swift-atproto"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "ATProtoLexiconFetcher",
      "targets" : [
        "ATProtoLexiconFetcher"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "SwiftAtprotoPlugin",
      "targets" : [
        "Generate Source Code"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "ATProtoGenerator",
      "targets" : [
        "ATProtoGenerator"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "Macros",
      "targets" : [
        "Macros"
      ],
      "type" : {
        "macro" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "swift_atproto",
      "module_type" : "SwiftTarget",
      "name" : "swift-atproto",
      "path" : "CommandLineTool",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "swift-atproto",
        "ATProtoLexiconFetcher",
        "SwiftAtprotoPlugin",
        "ATProtoGenerator"
      ],
      "sources" : [
        "Lexgen.swift"
      ],
      "target_dependencies" : [
        "SwiftAtprotoLex",
        "SourceControl"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "SwiftAtprotoTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftAtprotoTests",
      "path" : "Tests/SwiftAtprotoTests",
      "product_dependencies" : [
        "SwiftCbor"
      ],
      "sources" : [
        "ATURIInteropTests.swift",
        "AtIdentifierInteropTests.swift",
        "DIDDocumentPDSTests.swift",
        "DIDDocumentVerifiedTests.swift",
        "DIDInteropTests.swift",
        "DIDMethodTests.swift",
        "DRISLCBORTests.swift",
        "DatetimeFormatTests.swift",
        "DatetimeInteropTests.swift",
        "FormatStringATURITests.swift",
        "FormatStringAtIdentifierTests.swift",
        "FormatStringDIDTests.swift",
        "FormatStringDateTests.swift",
        "FormatStringHandleTests.swift",
        "FormatStringLanguageTests.swift",
        "FormatStringLexLinkTests.swift",
        "FormatStringNSIDTests.swift",
        "FormatStringRecordKeyTests.swift",
        "FormatStringTIDTests.swift",
        "FormatStringURITests.swift",
        "HandleInteropTests.swift",
        "LanguageAdversarialTests.swift",
        "LanguageInteropTests.swift",
        "LexPermissionTests.swift",
        "LexiconBytesTests.swift",
        "LexiconConstraintTests.swift",
        "NSIDInteropTests.swift",
        "OAuthScopeTests.swift",
        "OAuthSessionTests.swift",
        "RecordKeyInteropTests.swift",
        "SwiftAtprotoTests.swift",
        "TIDGeneratorTests.swift",
        "TIDInteropTests.swift",
        "URIInteropTests.swift",
        "XRPCQueryConstraintTests.swift",
        "XRPCScopeGuardTests.swift",
        "XRPCSubscriptionTests.swift"
      ],
      "target_dependencies" : [
        "SwiftAtproto"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftAtprotoLexTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftAtprotoLexTests",
      "path" : "Tests/SwiftAtprotoLexTests",
      "product_dependencies" : [
        "SwiftSyntax",
        "SwiftParser"
      ],
      "sources" : [
        "ConstraintDecodingGenerationTests.swift",
        "DuplicateNSIDTests.swift",
        "KeywordEscapingTests.swift",
        "MisplacedNSIDGenerationTests.swift",
        "NumericIdentifierEscapeTests.swift",
        "PluginSourceBranchingTests.swift",
        "QueryConstraintValidationTests.swift",
        "RecordNamespaceCollisionTests.swift",
        "RepoWriteGenerationTests.swift",
        "SchemaPrefixTests.swift",
        "SubscriptionGenerationTests.swift",
        "UnknownEncodingGenerationTests.swift",
        "WalkLexiconsTests.swift",
        "XRPCServerContractTests.swift"
      ],
      "target_dependencies" : [
        "SwiftAtprotoLex",
        "SourceControl"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftAtprotoLex",
      "module_type" : "SwiftTarget",
      "name" : "SwiftAtprotoLex",
      "path" : "Sources/SwiftAtprotoLex",
      "product_dependencies" : [
        "SwiftSyntax",
        "SwiftSyntaxBuilder",
        "SwiftBasicFormat"
      ],
      "product_memberships" : [
        "swift-atproto",
        "ATProtoLexiconFetcher",
        "SwiftAtprotoPlugin",
        "ATProtoGenerator"
      ],
      "sources" : [
        "AnyCodingKeys.swift",
        "Definitions/ArrayTypeDefinition.swift",
        "Definitions/BlobTypeDefinition.swift",
        "Definitions/BooleanTypeDefinition.swift",
        "Definitions/BytesTypeDefinition.swift",
        "Definitions/CidLinkTypeDefinition.swift",
        "Definitions/ConstraintValidation.swift",
        "Definitions/HTTPAPITypeDefinition.swift",
        "Definitions/IntegerTypeDefinition.swift",
        "Definitions/NullTypeDefinition.swift",
        "Definitions/ObjectTypeDefinition.swift",
        "Definitions/PermissionSetTypeDefinition.swift",
        "Definitions/PermissionTypeDefinition.swift",
        "Definitions/ProcedureTypeDefinition.swift",
        "Definitions/QueryTypeDefinition.swift",
        "Definitions/RecordDefinition.swift",
        "Definitions/ReferenceTypeDefinition.swift",
        "Definitions/StringTypeDefinition.swift",
        "Definitions/SubscriptionDefinition.swift",
        "Definitions/SwiftCodeGeneratable.swift",
        "Definitions/TokenTypeDefinition.swift",
        "Definitions/UnionTypeDefinition.swift",
        "Definitions/UnknownTypeDefinition.swift",
        "FieldTypeDefinition.swift",
        "PluginSource.swift",
        "SwiftAtprotoLex+Server.swift",
        "SwiftAtprotoLex.swift",
        "SwiftSyntaxExtensions.swift",
        "TypeSchema.swift",
        "misc.swift"
      ],
      "target_dependencies" : [
        "SourceControl"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftAtproto",
      "module_type" : "SwiftTarget",
      "name" : "SwiftAtproto",
      "path" : "Sources/SwiftAtproto",
      "product_dependencies" : [
        "CID",
        "HTTPTypes",
        "SwiftCbor"
      ],
      "product_memberships" : [
        "SwiftAtproto",
        "ATProtoMacro"
      ],
      "sources" : [
        "ATProtoCbor.swift",
        "AnyCodable.swift",
        "AuthInfo.swift",
        "DIDDocument+Verified.swift",
        "DIDDocument.swift",
        "JSONEncoder+ATProto.swift",
        "LexPermission.swift",
        "LexiconConstraintError.swift",
        "LexiconDecodingMode.swift",
        "OAuthScope.swift",
        "OAuthSession.swift",
        "StringFormats/ATURI.swift",
        "StringFormats/AtIdentifier.swift",
        "StringFormats/AtprotoDatetimeFormatStyle.swift",
        "StringFormats/AtprotoDatetimeParseStrategy.swift",
        "StringFormats/DID.swift",
        "StringFormats/Date+LexiconStringFormat.swift",
        "StringFormats/FormatString.swift",
        "StringFormats/Handle.swift",
        "StringFormats/Language.swift",
        "StringFormats/LexLink+LexiconStringFormat.swift",
        "StringFormats/LexiconStringFormat.swift",
        "StringFormats/NSID.swift",
        "StringFormats/ProlepticGregorianCalendar.swift",
        "StringFormats/RecordKey.swift",
        "StringFormats/TID.swift",
        "StringFormats/URI.swift",
        "StringFormats/_ASCII.swift",
        "StringFormats/_Base32Sortable.swift",
        "SwiftAtproto.swift",
        "URL+.swift",
        "XRPCBlobUpload.swift",
        "XRPCRequestComponents.swift",
        "XRPCSubscription.swift",
        "_OAuthScopeSyntax.swift",
        "_XRPCCallable.swift",
        "_XRPCClientProtocol.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SourceControlTests",
      "module_type" : "SwiftTarget",
      "name" : "SourceControlTests",
      "path" : "Tests/SourceControlTests",
      "sources" : [
        "LexiconConfigTests.swift",
        "LocalLexiconInstallTests.swift",
        "MigrationTests.swift",
        "RepositoryLocationTests.swift"
      ],
      "target_dependencies" : [
        "SourceControl"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SourceControl",
      "module_type" : "SwiftTarget",
      "name" : "SourceControl",
      "path" : "Sources/SourceControl",
      "product_dependencies" : [
        "Crypto"
      ],
      "product_memberships" : [
        "swift-atproto",
        "ATProtoLexiconFetcher",
        "SwiftAtprotoPlugin",
        "ATProtoGenerator"
      ],
      "sources" : [
        "Git.swift",
        "GitRepository.swift",
        "LexiconConfig.swift",
        "LexiconsStore.swift",
        "NSID.swift",
        "RepositoryLocation.swift",
        "misc.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MacrosTests",
      "module_type" : "SwiftTarget",
      "name" : "MacrosTests",
      "path" : "Tests/MacrosTests",
      "product_dependencies" : [
        "SwiftSyntaxMacrosTestSupport",
        "SwiftSyntax",
        "SwiftSyntaxBuilder"
      ],
      "sources" : [
        "MacrosTests.swift"
      ],
      "target_dependencies" : [
        "Macros"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Macros",
      "module_type" : "SwiftTarget",
      "name" : "Macros",
      "path" : "Sources/Macros",
      "product_dependencies" : [
        "SwiftSyntaxMacros",
        "SwiftCompilerPlugin",
        "SwiftDiagnostics",
        "SwiftSyntaxBuilder",
        "SwiftSyntax"
      ],
      "product_memberships" : [
        "ATProtoMacro",
        "Macros"
      ],
      "sources" : [
        "Macros.swift"
      ],
      "type" : "macro"
    },
    {
      "c99name" : "Generate_Source_Code",
      "module_type" : "PluginTarget",
      "name" : "Generate Source Code",
      "path" : "Plugins/SwiftAtprotoPlugin",
      "plugin_capability" : {
        "intent" : {
          "description" : "Generate source code from AT Protocol definitions.",
          "type" : "custom",
          "verb" : "swift-atproto"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "This command reformats source files",
            "type" : "writeToPackageDirectory"
          },
          {
            "network_scope" : {
              "all" : {
                "ports" : [
                  443
                ]
              }
            },
            "reason" : "fetch lexicons",
            "type" : "allowNetworkConnections"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "SwiftAtprotoPlugin"
      ],
      "sources" : [
        "plugin.swift"
      ],
      "target_dependencies" : [
        "swift-atproto"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "ATProtoMacro",
      "module_type" : "SwiftTarget",
      "name" : "ATProtoMacro",
      "path" : "Sources/ATProtoMacro",
      "product_memberships" : [
        "ATProtoMacro"
      ],
      "sources" : [
        "ATProtoMacro.swift"
      ],
      "target_dependencies" : [
        "Macros",
        "SwiftAtproto"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ATProtoLexiconFetcher",
      "module_type" : "PluginTarget",
      "name" : "ATProtoLexiconFetcher",
      "path" : "Plugins/ATProtoLexiconFetcher",
      "plugin_capability" : {
        "intent" : {
          "description" : "Fetch AT Protocol lexicons files from remote resources.",
          "type" : "custom",
          "verb" : "swift-atproto-fetch"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "To save the downloaded lexicons to your project.",
            "type" : "writeToPackageDirectory"
          },
          {
            "network_scope" : {
              "all" : {
                "ports" : [
                  443
                ]
              }
            },
            "reason" : "fetch lexicons",
            "type" : "allowNetworkConnections"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "ATProtoLexiconFetcher"
      ],
      "sources" : [
        "plugin.swift"
      ],
      "target_dependencies" : [
        "swift-atproto"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "ATProtoGenerator",
      "module_type" : "PluginTarget",
      "name" : "ATProtoGenerator",
      "path" : "Plugins/ATProtoGenerator",
      "plugin_capability" : {
        "type" : "buildTool"
      },
      "product_memberships" : [
        "ATProtoGenerator"
      ],
      "sources" : [
        "plugin.swift"
      ],
      "target_dependencies" : [
        "swift-atproto"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "ATProtoCryptoTests",
      "module_type" : "SwiftTarget",
      "name" : "ATProtoCryptoTests",
      "path" : "Tests/ATProtoCryptoTests",
      "sources" : [
        "DIDTests.swift",
        "KeyTests.swift"
      ],
      "target_dependencies" : [
        "ATProtoCrypto"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ATProtoCrypto",
      "module_type" : "SwiftTarget",
      "name" : "ATProtoCrypto",
      "path" : "Sources/ATProtoCrypto",
      "product_dependencies" : [
        "Crypto",
        "P256K",
        "libsecp256k1",
        "Multibase"
      ],
      "product_memberships" : [
        "ATProtoCrypto"
      ],
      "sources" : [
        "Did.swift",
        "Key.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.1"
}
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:34a00a57f57797b403a98b861c3ce940f20735b4cb78ef45654f0d4f3b0c0295
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Done.