The Swift Package Index logo.Swift Package Index

Build Information

Successful build of ASN1Codable, reference 0.1.3 (fce875), with Swift 6.4 for macOS (SPM) on 18 Sep 2026 20:35:49 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/PADL/ASN1Codable.git
Reference: 0.1.3
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/PADL/ASN1Codable
 * tag               0.1.3      -> FETCH_HEAD
HEAD is now at fce8757 remove unused isString method
Cloned https://github.com/PADL/ASN1Codable.git
Revision (git rev-parse @):
fce8757cc6d98686a8b7cc9cb8722848eadb8e70
SUCCESS checkout https://github.com/PADL/ASN1Codable.git at 0.1.3
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/PADL/ASN1Codable.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 394]
[Planning deferred tasks]
[37 / 176] Echo
[80 / 176]
[92 / 183] BigNumber
[97 / 185]
[103 / 193] CEcho
[111 / 217]
[117 / 222]
[123 / 222]
[133 / 250] DataKit
[134 / 266]
[142 / 266]
[144 / 266]
[145 / 266] CEcho
[150 / 266] Atomics
[150 / 266]
[154 / 266]
[163 / 267]
[166 / 267]
[169 / 268] Echo
[170 / 279] BigNumber
[179 / 279]
[180 / 279]
[181 / 279]
[191 / 279] AnyCodable
[194 / 279] DataKit
[213 / 279] Echo
[220 / 279] Echo
[222 / 279] Echo-product
[224 / 279] Echo-product
[225 / 279] DataKit-product
[227 / 279] Commandant
[237 / 279] DataKit
[241 / 279]
[244 / 280] Commandant
[246 / 280] AnyCodable
[259 / 291] ASN1Kit
[267 / 293] ASN1Kit
[269 / 293] HeimASN1Translator
[280 / 315] ASN1Codable
[286 / 315] ASN1Codable
[290 / 315] HeimASN1Translator
[297 / 315] asn1json2swift-product
[302 / 316] ASN1Codable
[308 / 316] ASN1Codable
[312 / 320] ASN1Codable
[316 / 320] asn1json2swift-product
[318 / 320] asn1json2swift-product
Build complete! (10.37 sec)
Fetching https://github.com/PADL/ASN1Kit
[1/1049] Fetching asn1kit
Fetched https://github.com/PADL/ASN1Kit (1.54s)
Fetching https://github.com/ole/Echo
[1/870] Fetching echo
Fetched https://github.com/ole/Echo (1.04s)
Fetching https://github.com/mkrd/Swift-BigInt
[1/2014] Fetching swift-bigint
Fetched https://github.com/mkrd/Swift-BigInt (1.62s)
Fetching https://github.com/SwiftCommon/DataKit.git
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/Carthage/Commandant
Fetching https://github.com/Flight-School/AnyCodable
Fetching https://github.com/apple/swift-argument-parser
[1/2329] Fetching commandant
[25/3553] Fetching commandant, datakit
[247/4335] Fetching commandant, datakit, anycodable
[516/6210] Fetching commandant, datakit, anycodable, swift-atomics
[4205/25128] Fetching commandant, datakit, anycodable, swift-atomics, swift-argument-parser
Fetched https://github.com/SwiftCommon/DataKit.git (1.24s)
Fetched https://github.com/apple/swift-atomics.git (1.24s)
[3868/22029] Fetching commandant, anycodable, swift-argument-parser
Fetched https://github.com/Flight-School/AnyCodable (1.89s)
Fetched https://github.com/apple/swift-argument-parser (1.89s)
Fetched https://github.com/Carthage/Commandant (1.89s)
Computing version for https://github.com/SwiftCommon/DataKit.git
Computed https://github.com/SwiftCommon/DataKit.git at 1.1.0 (2.58s)
Fetching https://github.com/Quick/Nimble
[1/19986] Fetching nimble
Fetched https://github.com/Quick/Nimble (2.53s)
Computing version for https://github.com/Flight-School/AnyCodable
Computed https://github.com/Flight-School/AnyCodable at 0.6.7 (3.19s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 0.0.3 (0.66s)
Computing version for https://github.com/Quick/Nimble
Computed https://github.com/Quick/Nimble at 9.2.1 (0.64s)
Fetching https://github.com/mattgallagher/CwlPreconditionTesting.git
[1/1257] Fetching cwlpreconditiontesting
Fetched https://github.com/mattgallagher/CwlPreconditionTesting.git (1.52s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.2.2 (2.19s)
Fetching https://github.com/mattgallagher/CwlCatchException.git
[1/460] Fetching cwlcatchexception
Fetched https://github.com/mattgallagher/CwlCatchException.git (0.87s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.2.1 (1.53s)
Computing version for https://github.com/Carthage/Commandant
Computed https://github.com/Carthage/Commandant at 0.18.0 (0.65s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.57s)
Creating working copy for https://github.com/Quick/Nimble
Working copy of https://github.com/Quick/Nimble resolved at 9.2.1
Creating working copy for https://github.com/PADL/ASN1Kit
Working copy of https://github.com/PADL/ASN1Kit resolved at lhoward/pr (94f981e)
Creating working copy for https://github.com/SwiftCommon/DataKit.git
Working copy of https://github.com/SwiftCommon/DataKit.git resolved at 1.1.0
Creating working copy for https://github.com/mattgallagher/CwlPreconditionTesting.git
Working copy of https://github.com/mattgallagher/CwlPreconditionTesting.git resolved at 2.2.2
Creating working copy for https://github.com/Carthage/Commandant
Working copy of https://github.com/Carthage/Commandant resolved at 0.18.0
Creating working copy for https://github.com/mattgallagher/CwlCatchException.git
Working copy of https://github.com/mattgallagher/CwlCatchException.git resolved at 2.2.1
Creating working copy for https://github.com/mkrd/Swift-BigInt
Working copy of https://github.com/mkrd/Swift-BigInt resolved at master (e355084)
Creating working copy for https://github.com/Flight-School/AnyCodable
Working copy of https://github.com/Flight-School/AnyCodable resolved at 0.6.7
Creating working copy for https://github.com/ole/Echo
Working copy of https://github.com/ole/Echo resolved at fix-release-build (67dee07)
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/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 0.0.3
/Users/admin/builder/spi-builder-workspace/Sources/HeimASN1Translator/HeimASN1Translator.swift:26:1: warning: extension declares a conformance of imported type 'OutputStream' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 24 | }
 25 |
 26 | extension OutputStream: TextOutputStream {
    | |- warning: extension declares a conformance of imported type 'OutputStream' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 27 |     public func write(_ string: String) {
 28 |         self.write(string, maxLength: string.count)
/Users/admin/builder/spi-builder-workspace/Sources/HeimASN1Translator/HeimASN1Translator.swift:26:1: warning: extension declares a conformance of imported type 'OutputStream' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
 24 | }
 25 |
 26 | extension OutputStream: TextOutputStream {
    | |- warning: extension declares a conformance of imported type 'OutputStream' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 27 |     public func write(_ string: String) {
 28 |         self.write(string, maxLength: string.count)
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/Primitive/BInt.swift:32:1: warning: extension declares a conformance of imported type 'BInt' to imported protocol 'ASN1DecodableType'; this will not behave correctly if the owners of 'BigNumber' introduce this conformance in the future
30 | import BigNumber
31 |
32 | extension BInt: ASN1DecodableType {
   | |- warning: extension declares a conformance of imported type 'BInt' to imported protocol 'ASN1DecodableType'; this will not behave correctly if the owners of 'BigNumber' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
33 |     public init(from asn1: ASN1Object) throws {
34 |         guard let data = asn1.data.primitive, asn1.tag == .universal(.integer) else {
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/Primitive/BInt.swift:63:1: warning: extension declares a conformance of imported type 'BInt' to imported protocol 'ASN1EncodableType'; this will not behave correctly if the owners of 'BigNumber' introduce this conformance in the future
61 | }
62 |
63 | extension BInt: ASN1EncodableType {
   | |- warning: extension declares a conformance of imported type 'BInt' to imported protocol 'ASN1EncodableType'; this will not behave correctly if the owners of 'BigNumber' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
64 |     public func asn1encode(tag _: ASN1DecodedTag?) throws -> ASN1Object {
65 |         var bytes: [UInt8]
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/ASN1KitExtras/ASN1DecodedTag+Extras.swift:48:1: warning: extension declares a conformance of imported type 'ASN1DecodedTag' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'ASN1Kit' introduce this conformance in the future
 46 | }
 47 |
 48 | extension ASN1DecodedTag: Hashable {
    | |- warning: extension declares a conformance of imported type 'ASN1DecodedTag' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'ASN1Kit' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 49 |     public func hash(into hasher: inout Hasher) {
 50 |         hasher.combine(self.tagType)
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/ASN1KitExtras/ASN1DecodedTag+Extras.swift:55:1: warning: extension declares a conformance of imported type 'ASN1DecodedTag' to imported protocol 'Decodable'; this will not behave correctly if the owners of 'ASN1Kit' introduce this conformance in the future
 53 | }
 54 |
 55 | extension ASN1DecodedTag: Decodable {
    | |- warning: extension declares a conformance of imported type 'ASN1DecodedTag' to imported protocol 'Decodable'; this will not behave correctly if the owners of 'ASN1Kit' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 56 |     public init(from decoder: Decoder) throws {
 57 |         let container = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/ASN1KitExtras/ASN1DecodedTag+Extras.swift:72:1: warning: extension declares a conformance of imported type 'ASN1DecodedTag' to imported protocol 'Encodable'; this will not behave correctly if the owners of 'ASN1Kit' introduce this conformance in the future
 70 | }
 71 |
 72 | extension ASN1DecodedTag: Encodable {
    | |- warning: extension declares a conformance of imported type 'ASN1DecodedTag' to imported protocol 'Encodable'; this will not behave correctly if the owners of 'ASN1Kit' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 73 |     public func encode(to encoder: Encoder) throws {
 74 |         var container = encoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/Decoder/KeyedDecodingContainer.swift:61:39: warning: generic parameter 'Key' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 19 |
 20 | extension ASN1DecoderImpl {
 21 |     final class KeyedContainer<Key>: ASN1DecodingContainer where Key: CodingKey {
    |                                `- note: 'Key' previously declared here
 22 |         let object: ASN1Object
 23 |         let codingPath: [CodingKey]
    :
 59 |     /// but this approach results in smaller code size as the tag number is encapsulated in the raw
 60 |     /// representable type itself.)
 61 |     private func contextTagCodingKeys<Key: ASN1ContextTagCodingKey>(
    |                                       `- warning: generic parameter 'Key' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 62 |         _: Key.Type,
 63 |         _ objects: [ASN1Object]
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/Decoder/KeyedDecodingContainer.swift:81:37: warning: generic parameter 'Key' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 19 |
 20 | extension ASN1DecoderImpl {
 21 |     final class KeyedContainer<Key>: ASN1DecodingContainer where Key: CodingKey {
    |                                `- note: 'Key' previously declared here
 22 |         let object: ASN1Object
 23 |         let codingPath: [CodingKey]
    :
 79 |     /// types with `ASN1MetadataCodingKey` conforming coding keys provide a `metadata(forKey:)`
 80 |     /// function that maps a key to a non-universal tag and tagging environment.
 81 |     private func metadataCodingKeys<Key: ASN1MetadataCodingKey>(
    |                                     `- warning: generic parameter 'Key' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 82 |         _ type: Key.Type,
 83 |         _ objects: [ASN1Object]
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/Decoder/KeyedDecodingContainer.swift:93:29: warning: generic parameter 'Key' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 19 |
 20 | extension ASN1DecoderImpl {
 21 |     final class KeyedContainer<Key>: ASN1DecodingContainer where Key: CodingKey {
    |                                `- note: 'Key' previously declared here
 22 |         let object: ASN1Object
 23 |         let codingPath: [CodingKey]
    :
 91 |     /// for a regular `CodingKey` we use reflection to map the tag to a field name. This does assume that
 92 |     /// the key name matches the field name. This is the only strategy that works with universal tags.
 93 |     private func codingKeys<Key: CodingKey>(
    |                             `- warning: generic parameter 'Key' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 94 |         _ type: Key.Type,
 95 |         _ objects: [ASN1Object]
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/Primitive/BInt.swift:32:1: warning: extension declares a conformance of imported type 'BInt' to imported protocol 'ASN1DecodableType'; this will not behave correctly if the owners of 'BigNumber' introduce this conformance in the future
30 | import BigNumber
31 |
32 | extension BInt: ASN1DecodableType {
   | |- warning: extension declares a conformance of imported type 'BInt' to imported protocol 'ASN1DecodableType'; this will not behave correctly if the owners of 'BigNumber' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
33 |     public init(from asn1: ASN1Object) throws {
34 |         guard let data = asn1.data.primitive, asn1.tag == .universal(.integer) else {
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/Primitive/BInt.swift:63:1: warning: extension declares a conformance of imported type 'BInt' to imported protocol 'ASN1EncodableType'; this will not behave correctly if the owners of 'BigNumber' introduce this conformance in the future
61 | }
62 |
63 | extension BInt: ASN1EncodableType {
   | |- warning: extension declares a conformance of imported type 'BInt' to imported protocol 'ASN1EncodableType'; this will not behave correctly if the owners of 'BigNumber' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
64 |     public func asn1encode(tag _: ASN1DecodedTag?) throws -> ASN1Object {
65 |         var bytes: [UInt8]
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/ASN1KitExtras/ASN1DecodedTag+Extras.swift:48:1: warning: extension declares a conformance of imported type 'ASN1DecodedTag' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'ASN1Kit' introduce this conformance in the future
 46 | }
 47 |
 48 | extension ASN1DecodedTag: Hashable {
    | |- warning: extension declares a conformance of imported type 'ASN1DecodedTag' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'ASN1Kit' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 49 |     public func hash(into hasher: inout Hasher) {
 50 |         hasher.combine(self.tagType)
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/ASN1KitExtras/ASN1DecodedTag+Extras.swift:55:1: warning: extension declares a conformance of imported type 'ASN1DecodedTag' to imported protocol 'Decodable'; this will not behave correctly if the owners of 'ASN1Kit' introduce this conformance in the future
 53 | }
 54 |
 55 | extension ASN1DecodedTag: Decodable {
    | |- warning: extension declares a conformance of imported type 'ASN1DecodedTag' to imported protocol 'Decodable'; this will not behave correctly if the owners of 'ASN1Kit' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 56 |     public init(from decoder: Decoder) throws {
 57 |         let container = try decoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/ASN1KitExtras/ASN1DecodedTag+Extras.swift:72:1: warning: extension declares a conformance of imported type 'ASN1DecodedTag' to imported protocol 'Encodable'; this will not behave correctly if the owners of 'ASN1Kit' introduce this conformance in the future
 70 | }
 71 |
 72 | extension ASN1DecodedTag: Encodable {
    | |- warning: extension declares a conformance of imported type 'ASN1DecodedTag' to imported protocol 'Encodable'; this will not behave correctly if the owners of 'ASN1Kit' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 73 |     public func encode(to encoder: Encoder) throws {
 74 |         var container = encoder.singleValueContainer()
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/Decoder/KeyedDecodingContainer.swift:61:39: warning: generic parameter 'Key' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 19 |
 20 | extension ASN1DecoderImpl {
 21 |     final class KeyedContainer<Key>: ASN1DecodingContainer where Key: CodingKey {
    |                                `- note: 'Key' previously declared here
 22 |         let object: ASN1Object
 23 |         let codingPath: [CodingKey]
    :
 59 |     /// but this approach results in smaller code size as the tag number is encapsulated in the raw
 60 |     /// representable type itself.)
 61 |     private func contextTagCodingKeys<Key: ASN1ContextTagCodingKey>(
    |                                       `- warning: generic parameter 'Key' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 62 |         _: Key.Type,
 63 |         _ objects: [ASN1Object]
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/Decoder/KeyedDecodingContainer.swift:81:37: warning: generic parameter 'Key' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 19 |
 20 | extension ASN1DecoderImpl {
 21 |     final class KeyedContainer<Key>: ASN1DecodingContainer where Key: CodingKey {
    |                                `- note: 'Key' previously declared here
 22 |         let object: ASN1Object
 23 |         let codingPath: [CodingKey]
    :
 79 |     /// types with `ASN1MetadataCodingKey` conforming coding keys provide a `metadata(forKey:)`
 80 |     /// function that maps a key to a non-universal tag and tagging environment.
 81 |     private func metadataCodingKeys<Key: ASN1MetadataCodingKey>(
    |                                     `- warning: generic parameter 'Key' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 82 |         _ type: Key.Type,
 83 |         _ objects: [ASN1Object]
/Users/admin/builder/spi-builder-workspace/Sources/ASN1Codable/Decoder/KeyedDecodingContainer.swift:93:29: warning: generic parameter 'Key' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 19 |
 20 | extension ASN1DecoderImpl {
 21 |     final class KeyedContainer<Key>: ASN1DecodingContainer where Key: CodingKey {
    |                                `- note: 'Key' previously declared here
 22 |         let object: ASN1Object
 23 |         let codingPath: [CodingKey]
    :
 91 |     /// for a regular `CodingKey` we use reflection to map the tag to a field name. This does assume that
 92 |     /// the key name matches the field name. This is the only strategy that works with universal tags.
 93 |     private func codingKeys<Key: CodingKey>(
    |                             `- warning: generic parameter 'Key' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 94 |         _ type: Key.Type,
 95 |         _ objects: [ASN1Object]
Build complete.
{
  "dependencies" : [
    {
      "identity" : "asn1kit",
      "requirement" : {
        "branch" : [
          "lhoward/pr"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/PADL/ASN1Kit"
    },
    {
      "identity" : "echo",
      "requirement" : {
        "branch" : [
          "fix-release-build"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ole/Echo"
    },
    {
      "identity" : "swift-bigint",
      "requirement" : {
        "branch" : [
          "master"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mkrd/Swift-BigInt"
    },
    {
      "identity" : "anycodable",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.6.7",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Flight-School/AnyCodable"
    },
    {
      "identity" : "commandant",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.9.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Carthage/Commandant"
    }
  ],
  "manifest_display_name" : "ASN1Codable",
  "name" : "ASN1Codable",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "ios",
      "version" : "9.0"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    },
    {
      "name" : "watchos",
      "version" : "2.0"
    }
  ],
  "products" : [
    {
      "name" : "ASN1Codable",
      "targets" : [
        "ASN1Codable"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "asn1json2swift",
      "targets" : [
        "asn1json2swift"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "asn1json2swift",
      "module_type" : "SwiftTarget",
      "name" : "asn1json2swift",
      "path" : "Sources/CLI/asn1json2swift",
      "product_dependencies" : [
        "Commandant"
      ],
      "product_memberships" : [
        "asn1json2swift"
      ],
      "sources" : [
        "TranslateCommand.swift",
        "VersionCommand.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "HeimASN1Translator"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "HeimASN1Translator",
      "module_type" : "SwiftTarget",
      "name" : "HeimASN1Translator",
      "path" : "Sources/HeimASN1Translator",
      "product_dependencies" : [
        "ASN1Kit",
        "AnyCodable"
      ],
      "product_memberships" : [
        "asn1json2swift"
      ],
      "sources" : [
        "ASN1Tag+SwiftType.swift",
        "Data+Extras.swift",
        "HeimASN1Decoration.swift",
        "HeimASN1FieldDescriptor.swift",
        "HeimASN1Module.swift",
        "HeimASN1OpenType.swift",
        "HeimASN1Tagging.swift",
        "HeimASN1Translator.swift",
        "HeimASN1Type.swift",
        "HeimASN1TypeDef.swift",
        "HeimASN1TypeMember.swift",
        "HeimASN1UniversalType.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ASN1Codable",
      "module_type" : "SwiftTarget",
      "name" : "ASN1Codable",
      "path" : "Sources/ASN1Codable",
      "product_dependencies" : [
        "ASN1Kit",
        "Echo",
        "BigNumber",
        "AnyCodable"
      ],
      "product_memberships" : [
        "ASN1Codable"
      ],
      "sources" : [
        "ASN1KitExtras/ASN1DecodedTag+Extras.swift",
        "ASN1KitExtras/ASN1ImplicitlyWrappedObject.swift",
        "ASN1KitExtras/ASN1KitExported.swift",
        "ASN1KitExtras/ASN1NullObject.swift",
        "ASN1KitExtras/ASN1Object+Sorting.swift",
        "CodingKeys/ASN1Key.swift",
        "CodingKeys/ASN1PlaceholderCodingKey.swift",
        "CodingKeys/ASN1TaggedDictionaryCodingKey.swift",
        "Core/ASN1AutomaticTaggingContext.swift",
        "Core/ASN1Metadata.swift",
        "Core/ASN1UserInfoKeys.swift",
        "Decoder/ASN1Decoder.swift",
        "Decoder/ASN1DecoderImpl.swift",
        "Decoder/ASN1DecodingContainer.swift",
        "Decoder/ASN1DecodingContext.swift",
        "Decoder/KeyedDecodingContainer.swift",
        "Decoder/ReferencingDecoder.swift",
        "Decoder/SingleValueDecodingContainer.swift",
        "Decoder/UnkeyedDecodingContainer.swift",
        "Encoder/ASN1Encoder.swift",
        "Encoder/ASN1EncoderImpl.swift",
        "Encoder/ASN1EncodingContainer.swift",
        "Encoder/ASN1EncodingContext.swift",
        "Encoder/KeyedEncodingContainer.swift",
        "Encoder/ReferencingEncoder.swift",
        "Encoder/SingleValueEncodingContainer.swift",
        "Encoder/UnkeyedEncodingContainer.swift",
        "OpenType/ASN1AnyObjectSetValue.swift",
        "OpenType/ASN1ObjectSetCodable.swift",
        "OpenType/ASN1ObjectSetCodingContext.swift",
        "OpenType/ASN1ObjectSetType.swift",
        "OpenType/ASN1ObjectSetValue.swift",
        "OpenType/ASN1TaggedDictionary.swift",
        "Primitive/AnyCodable.swift",
        "Primitive/BInt.swift",
        "Primitive/Base.swift",
        "Primitive/BitString.swift",
        "Primitive/BitStringOptionSet.swift",
        "Primitive/Dictionary.swift",
        "Primitive/FixedWidthInteger.swift",
        "Primitive/Null.swift",
        "Primitive/String.swift",
        "Primitive/Time.swift",
        "PropertyWrappers/ASN1ApplicationTagged.swift",
        "PropertyWrappers/ASN1ContextTagged.swift",
        "PropertyWrappers/ASN1PrivateTagged.swift",
        "Protocols/ASN1CodingContext.swift",
        "Protocols/ASN1CodingKey.swift",
        "Protocols/ASN1ExtensibleType.swift",
        "Protocols/ASN1PreserveBinary.swift",
        "Protocols/ASN1SetCodable.swift",
        "Protocols/ASN1TagNumberRepresentable.swift",
        "Protocols/ASN1TaggedType.swift",
        "Protocols/ASN1TaggedValue.swift",
        "Protocols/ASN1Tagging.swift",
        "Protocols/ASN1TypeMetadataRepresentable.swift",
        "Protocols/ASN1UniversalTagRepresentable.swift",
        "Utility/Box.swift",
        "Utility/OptionalProtocol.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Done.