The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftAtproto, reference 0.46.0 (96ba0f), with Swift 6.4 for Linux on 7 Nov 2026 23:47:28 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-53886769-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:linux-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.4
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/nnabeyang/swift-atproto.git
Reference: 0.46.0
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
 * tag               0.46.0     -> FETCH_HEAD
HEAD is now at 96ba0fc Merge pull request #191 from nnabeyang/release/0.46.0
Cloned https://github.com/nnabeyang/swift-atproto.git
Revision (git rev-parse @):
96ba0fc771c99cdbed7e2ac240589cc71e89abfc
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/nnabeyang/swift-atproto.git at 0.46.0
========================================
Build
========================================
Selected platform:         linux
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-53886769-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:linux-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
linux-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:b44244c3c3fc9f2af9eceb487c9bff83319ab045277845df83db1e4f60420d2c
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:linux-6.4-latest
Fetching https://github.com/swift-libp2p/swift-multibase.git
[1/314] Fetching swift-multibase
Fetching https://github.com/apple/swift-crypto
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/apple/swift-http-types.git
Fetching https://github.com/21-DOT-DEV/swift-secp256k1
Fetching https://github.com/swiftlang/swift-syntax.git
[315/2281] Fetching swift-multibase, swift-http-types
[1574/21205] Fetching swift-multibase, swift-http-types, swift-crypto
Fetched https://github.com/apple/swift-http-types.git (0.40s)
Fetching https://github.com/swift-libp2p/swift-cid
[882/19238] Fetching swift-multibase, swift-crypto
[2208/38582] Fetching swift-multibase, swift-crypto, swift-argument-parser
[23444/38924] Fetching swift-multibase, swift-crypto, swift-argument-parser, swift-cid
Fetched https://github.com/swift-libp2p/swift-cid (0.36s)
Fetching https://github.com/nnabeyang/swift-cbor.git
[25336/38582] Fetching swift-multibase, swift-crypto, swift-argument-parser
[27229/51035] Fetching swift-multibase, swift-crypto, swift-argument-parser, swift-secp256k1
[39953/51474] Fetching swift-multibase, swift-crypto, swift-argument-parser, swift-secp256k1, swift-cbor
Fetched https://github.com/nnabeyang/swift-cbor.git (0.36s)
[43439/51035] Fetching swift-multibase, swift-crypto, swift-argument-parser, swift-secp256k1
[44561/132896] Fetching swift-multibase, swift-crypto, swift-argument-parser, swift-secp256k1, swift-syntax
Fetched https://github.com/apple/swift-crypto (1.31s)
[39089/113972] Fetching swift-multibase, swift-argument-parser, swift-secp256k1, swift-syntax
Fetched https://github.com/swift-libp2p/swift-multibase.git (4.00s)
Fetched https://github.com/apple/swift-argument-parser (3.64s)
Fetched https://github.com/21-DOT-DEV/swift-secp256k1 (3.65s)
Fetched https://github.com/swiftlang/swift-syntax.git (3.66s)
Computing version for https://github.com/swift-libp2p/swift-multibase.git
Computed https://github.com/swift-libp2p/swift-multibase.git at 0.2.3 (4.18s)
Fetching https://github.com/swift-libp2p/swift-bases.git
[1/672] Fetching swift-bases
Fetched https://github.com/swift-libp2p/swift-bases.git (0.37s)
Computing version for https://github.com/swift-libp2p/swift-cid
Computed https://github.com/swift-libp2p/swift-cid at 0.2.2 (0.51s)
Fetching https://github.com/swift-libp2p/swift-multihash.git
Fetching https://github.com/swift-libp2p/swift-multicodec.git
[1/514] Fetching swift-multihash
[207/1133] Fetching swift-multihash, swift-multicodec
Fetched https://github.com/swift-libp2p/swift-multicodec.git (0.36s)
Fetched https://github.com/swift-libp2p/swift-multihash.git (0.36s)
Computing version for https://github.com/nnabeyang/swift-cbor.git
Computed https://github.com/nnabeyang/swift-cbor.git at 0.3.0 (0.49s)
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.12s)
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.12s)
Fetching https://github.com/swift-libp2p/swift-varint.git
Fetching https://github.com/krzyzanowskim/CryptoSwift.git
[1/235] Fetching swift-varint
Fetched https://github.com/swift-libp2p/swift-varint.git (0.33s)
[1/13446] Fetching cryptoswift
Fetched https://github.com/krzyzanowskim/CryptoSwift.git (1.06s)
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.20s)
Computing version for https://github.com/krzyzanowskim/CryptoSwift.git
Computed https://github.com/krzyzanowskim/CryptoSwift.git at 1.10.0 (0.87s)
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.12s)
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.18s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 603.0.2 (0.24s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.14s)
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.16s)
Computing version for https://github.com/apple/swift-crypto
Computed https://github.com/apple/swift-crypto at 5.1.1 (0.91s)
Fetching https://github.com/apple/swift-asn1.git
[1/2065] Fetching swift-asn1
Fetched https://github.com/apple/swift-asn1.git (0.39s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.4 (0.57s)
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/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/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.4
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/apple/swift-crypto
Working copy of https://github.com/apple/swift-crypto resolved at 5.1.1
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/swift-libp2p/swift-cid
Working copy of https://github.com/swift-libp2p/swift-cid resolved at 0.2.2
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/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/krzyzanowskim/CryptoSwift.git
Working copy of https://github.com/krzyzanowskim/CryptoSwift.git resolved at 1.10.0
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-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/swift-libp2p/swift-multibase.git
Working copy of https://github.com/swift-libp2p/swift-multibase.git resolved at 0.2.3
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.16s)
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 1572]
[Planning 1329 / 1572]
[Planning deferred tasks]
[Constructing 2797 / 3797]
[180 / 965] Multibase
[296 / 975] SwiftSyntax603
[311 / 981] SwiftSyntax600
[325 / 985] SwiftSyntax509
[338 / 987] SwiftSyntax510
[343 / 987] VarInt
[346 / 987] VarInt-product
[356 / 1007] HTTPTypes
[360 / 1019] BaseX
[365 / 1046] Base8
[379 / 1054] Base32
[389 / 1054] Base64
[399 / 1056] Base2
[416 / 1056] SwiftCbor
[425 / 1056] CryptoBoringWrapper
[430 / 1056] Multicodec
[433 / 1057] HTTPTypes
[437 / 1057] VarInt
[440 / 1057] HTTPTypes
[444 / 1058] SwiftCbor
[447 / 1058] SwiftCbor
[449 / 1058] CryptoSwift
[450 / 1058] CryptoSwift
[451 / 1059] HTTPTypes
[453 / 1059] HTTPTypes
[454 / 1059] CryptoSwift
[458 / 1059] CryptoSwift
[462 / 1059] CryptoSwift
[466 / 1059] CryptoSwift-product
[468 / 1059] BaseX-product
[471 / 1059] Base8-product
[473 / 1060] Base8-product
[477 / 1060] BaseX
[481 / 1062] Base8
[490 / 1063] HTTPTypes
[499 / 1063] CCryptoBoringSSL
[501 / 1065] Base2
[502 / 1066] CCryptoBoringSSL
[506 / 1066] CCryptoBoringSSL
[508 / 1066] CCryptoBoringSSL
[511 / 1066] CCryptoBoringSSL
[518 / 1066] CCryptoBoringSSL
[521 / 1066] CCryptoBoringSSL
[522 / 1066] CCryptoBoringSSL
[524 / 1066] CCryptoBoringSSL
[528 / 1066] CCryptoBoringSSL
[531 / 1066] CCryptoBoringSSL
[532 / 1066] CCryptoBoringSSL
[535 / 1066] CCryptoBoringSSL
[541 / 1066] CCryptoBoringSSL
[550 / 1066] CCryptoBoringSSL
[552 / 1066] CCryptoBoringSSL
[553 / 1066] CCryptoBoringSSL
[554 / 1066] CCryptoBoringSSL
[560 / 1066] CCryptoBoringSSL
[562 / 1066] CCryptoBoringSSL
[564 / 1066] CCryptoBoringSSL
[566 / 1066] CCryptoBoringSSL
[570 / 1066] CCryptoBoringSSL
[572 / 1066] CCryptoBoringSSL
[575 / 1066] CCryptoBoringSSL
[576 / 1066] CCryptoBoringSSL
[582 / 1066] CCryptoBoringSSL
[587 / 1066] CCryptoBoringSSL
[589 / 1066] CCryptoBoringSSL
[591 / 1066] CCryptoBoringSSL
[592 / 1066] CCryptoBoringSSL
[593 / 1066] CCryptoBoringSSL
[597 / 1066] CCryptoBoringSSL
[604 / 1066] CCryptoBoringSSL
[616 / 1066] CCryptoBoringSSL
[629 / 1066] CCryptoBoringSSL
[634 / 1066] CCryptoBoringSSL
[638 / 1066] CCryptoBoringSSL
[643 / 1066] CCryptoBoringSSL
[648 / 1066] CCryptoBoringSSL
[650 / 1066] CCryptoBoringSSL
[652 / 1066] CCryptoBoringSSL
[654 / 1066] CCryptoBoringSSL
[656 / 1066] CCryptoBoringSSL
[659 / 1066] CCryptoBoringSSL
[661 / 1066] CCryptoBoringSSL
[665 / 1066] CCryptoBoringSSL
[667 / 1066] CCryptoBoringSSL
[669 / 1066] CCryptoBoringSSL
[671 / 1066] CCryptoBoringSSL
[676 / 1066] CCryptoBoringSSL
[686 / 1066] CCryptoBoringSSL
[691 / 1066] CCryptoBoringSSL
[700 / 1066] CCryptoBoringSSL
[701 / 1066] CCryptoBoringSSL
[704 / 1066] CCryptoBoringSSL
[709 / 1066] CCryptoBoringSSL
[721 / 1066] CCryptoBoringSSL
[728 / 1066] CCryptoBoringSSL
[733 / 1066] CCryptoBoringSSL
[738 / 1066] CCryptoBoringSSL
[741 / 1066] CCryptoBoringSSL
[745 / 1066] CCryptoBoringSSL
[748 / 1066] CCryptoBoringSSL
[753 / 1066] CCryptoBoringSSL
[754 / 1066] CCryptoBoringSSL
[757 / 1066] CCryptoBoringSSL
[761 / 1066] CCryptoBoringSSL
[763 / 1066] CCryptoBoringSSL
[766 / 1066] CCryptoBoringSSL
[768 / 1066] CCryptoBoringSSL
[772 / 1066] CCryptoBoringSSL
[777 / 1066] CCryptoBoringSSL
[779 / 1066] CCryptoBoringSSL
[784 / 1066] CCryptoBoringSSL
[793 / 1066] CCryptoBoringSSL
[801 / 1066] CCryptoBoringSSL
[805 / 1066] CCryptoBoringSSL
[808 / 1066] CCryptoBoringSSL
[813 / 1066] CCryptoBoringSSL
[814 / 1066] CCryptoBoringSSL
[818 / 1066] CCryptoBoringSSL
[823 / 1066] CCryptoBoringSSL
[829 / 1066] CCryptoBoringSSL
[835 / 1066] CCryptoBoringSSL
[845 / 1066] CCryptoBoringSSL
[848 / 1066] CCryptoBoringSSL
[851 / 1066] CCryptoBoringSSL
[856 / 1066] CCryptoBoringSSL
[857 / 1066] CCryptoBoringSSL
[860 / 1066] CCryptoBoringSSL
[863 / 1066] CXKCP
[872 / 1067] ArgumentParserToolInfo
[878 / 1071] P256K
[885 / 1088] Multibase
[887 / 1097] ArgumentParserToolInfo
[899 / 1097] Multicodec
[901 / 1098] Multicodec
[906 / 1098] SwiftSyntax
[907 / 1098] SwiftSyntax
[909 / 1098] SwiftSyntax
[915 / 1098] Multicodec-product
[916 / 1098] Multicodec-product
[917 / 1099] Multicodec
[919 / 1100] Multihash
[923 / 1100] Crypto
[924 / 1100] Crypto-product
[925 / 1100] Crypto-product
[926 / 1100] Crypto-product
[929 / 1100] Crypto
[929 / 1100] CXKCP
[934 / 1101]
[935 / 1109] SourceControl
[939 / 1109] SourceControl
[943 / 1109] SourceControl
[946 / 1109] SourceControl
[947 / 1109] SourceControl
[947 / 1109] Crypto
[956 / 1112] SwiftSyntax-product
[960 / 1123] P256K
[969 / 1124] P256K
[970 / 1125] P256K
[971 / 1125] P256K
[974 / 1125] P256K
[978 / 1125] P256K
[979 / 1125] P256K-product
[984 / 1127] ArgumentParser
[986 / 1136] SwiftParser
[987 / 1145] ArgumentParser
[988 / 1145] SwiftParser
[989 / 1146] SwiftParser
[1002 / 1146] SwiftParser
[1003 / 1146] SwiftSyntax
[1005 / 1146] Base8
[1007 / 1146] P256K
[1008 / 1146] SwiftParser
[1010 / 1146] SwiftParser
[1011 / 1146] ArgumentParser-product
[1012 / 1146] ArgumentParser-product
[1015 / 1146] ArgumentParser
[1015 / 1146]
[1020 / 1164] SwiftBasicFormat
[1022 / 1164] SwiftDiagnostics
[1027 / 1164] SwiftDiagnostics
[1030 / 1164] SwiftBasicFormat
[1039 / 1165] SwiftParser
[1042 / 1165] SwiftBasicFormat
[1045 / 1165] SwiftBasicFormat
[1052 / 1173] CID
[1056 / 1173] CID
[1069 / 1185] SwiftOperators
[1071 / 1194] SwiftParserDiagnostics
[1073 / 1195] SwiftParserDiagnostics
[1076 / 1196] SwiftOperators
[1082 / 1196] SwiftParserDiagnostics
[1087 / 1196] SwiftParserDiagnostics
[1090 / 1197] SwiftOperators
[1092 / 1197] SwiftOperators
[1093 / 1197] SwiftOperators
[1097 / 1197] SwiftBasicFormat
[1105 / 1198]
[1110 / 1207] SwiftSyntaxBuilder
[1111 / 1208] SwiftSyntaxBuilder
[1113 / 1208] SwiftSyntaxBuilder
[1115 / 1209] SwiftSyntaxBuilder
[1127 / 1212] SwiftAtproto
[1132 / 1239] SwiftAtproto
[1133 / 1240] SwiftSyntaxBuilder
[1133 / 1240] SwiftIfConfig
[1141 / 1240] SwiftSyntaxMacros
[1143 / 1240] SwiftIfConfig
[1145 / 1240] SwiftIfConfig
[1148 / 1240] SwiftAtproto
[1154 / 1240] SwiftAtprotoLex
[1156 / 1241] SwiftIfConfig
[1159 / 1241] SwiftAtprotoLex
[1165 / 1241] SwiftAtprotoLex
[1167 / 1241] SwiftAtprotoLex
[1167 / 1241] swift-atproto-product
[1168 / 1241] swift-atproto-product
[1169 / 1241] SwiftAtproto-product
[1170 / 1241] SwiftAtproto-product
[1172 / 1241] SwiftAtproto
[1173 / 1241]
[1176 / 1244] ArgumentParser
[1181 / 1254] SwiftSyntaxMacros
[1185 / 1254] SwiftSyntaxMacros
[1191 / 1255] SwiftSyntaxMacros
[1204 / 1266] SwiftSyntaxMacros
[1206 / 1267] SwiftSyntaxMacros
[1209 / 1267] SwiftSyntaxMacroExpansion
[1217 / 1268] Multihash
[1220 / 1277] SwiftCompilerPluginMessageHandling
[1222 / 1278] SwiftCompilerPluginMessageHandling
[1224 / 1278] SwiftCompilerPluginMessageHandling
[1226 / 1278] SwiftCompilerPluginMessageHandling
[1227 / 1278] SwiftAtprotoLex
[1239 / 1280] ATProtoCrypto
[1244 / 1282] SwiftAtproto-product
[1249 / 1283] SwiftCompilerPlugin
[1251 / 1283] SwiftCompilerPluginMessageHandling
[1253 / 1284] SwiftSyntax
[1256 / 1285] SwiftSyntax
[1264 / 1285] SwiftIfConfig
[1274 / 1286] Macros
[1277 / 1288] Macros
[1281 / 1289] swift-atproto-product
[1281 / 1289] Macros
[1290 / 1293] ATProtoMacro
Build complete! (59.26 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" : "6.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",
        "LexBlobAcceptTests.swift",
        "LexPermissionTests.swift",
        "LexiconBytesTests.swift",
        "LexiconConstraintTests.swift",
        "LexiconValidatableTests.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" : [
        "ArrayElementConstraintTests.swift",
        "ConstAcceptConstraintTests.swift",
        "ConstraintDecodingGenerationTests.swift",
        "ConstraintValidationGenerationTests.swift",
        "DuplicateNSIDTests.swift",
        "GeneratedNameCollisionTests.swift",
        "KeywordArgumentLabelGenerationTests.swift",
        "KeywordEscapingTests.swift",
        "MisplacedNSIDGenerationTests.swift",
        "NonisolatedGenerationTests.swift",
        "NumericIdentifierEscapeTests.swift",
        "PluginSourceBranchingTests.swift",
        "QueryConstraintValidationTests.swift",
        "RecordNamespaceCollisionTests.swift",
        "ReferencedConstraintTests.swift",
        "RepoWriteGenerationTests.swift",
        "RuntimeTypeQualificationTests.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/NestedValidation.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",
        "GeneratedNameCollision.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",
        "LexBlob+Accept.swift",
        "LexPermission.swift",
        "LexiconConstraintError.swift",
        "LexiconDecodingMode.swift",
        "LexiconValidatable.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"
}
linux-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:b44244c3c3fc9f2af9eceb487c9bff83319ab045277845df83db1e4f60420d2c
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:linux-6.4-latest
Done.