The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Openhealthcardkit, reference 5.11.2 (32aa9e), with Swift 6.4 for macOS (SPM) on 23 Sep 2026 11:40:23 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/gematik/ref-OpenHealthCardKit.git
Reference: 5.11.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/gematik/ref-OpenHealthCardKit
 * tag               5.11.2     -> FETCH_HEAD
HEAD is now at 32aa9e3 OSPO policy compliance (#48)
Cloned https://github.com/gematik/ref-OpenHealthCardKit.git
Revision (git rev-parse @):
32aa9e3c77870ccbe8cd1b9289da2fe270a146d6
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/gematik/ref-OpenHealthCardKit.git at 5.11.2
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/gematik/ref-OpenHealthCardKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 447]
[Planning deferred tasks]
[111 / 190] Openhealthcardkit_HealthCardAccessTests
[114 / 190] HealthCardControl
[128 / 190]
[130 / 192] Helper
[140 / 239]
[145 / 239]
[148 / 239]
[149 / 239]
[153 / 239]
[155 / 239]
[158 / 239]
[161 / 239]
[163 / 239]
[164 / 239]
[175 / 239] ASN1Kit
[176 / 239] Helper
[188 / 239] Helper-product
[193 / 240] ASN1Kit
[195 / 240] CardReaderProviderApi
[206 / 251] CardReaderProviderApi
[216 / 253] CardReaderProviderApi
[217 / 253] CardReaderAccess
[228 / 267] HealthCardAccess
[237 / 267] HealthCardAccess
[240 / 267] CardReaderAccess-product
[247 / 268] HealthCardAccess
[250 / 268] HealthCardControl
[254 / 285]
[256 / 285]
[267 / 285] HealthCardControl
[268 / 285] HealthCardControl
[274 / 286] HealthCardControl
[274 / 286] NFCCardReaderProvider
[284 / 296] NFCCardReaderProvider
[295 / 296] NFCCardReaderProvider
Build complete! (12.35 sec)
Fetching https://github.com/Quick/Nimble
Fetching https://github.com/gematik/ASN1Kit.git
Fetching https://github.com/gematik/OpenSSL-Swift
Fetching https://github.com/apple/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
[166/3626] Fetching swift-docc-plugin, asn1kit
[944/4675] Fetching swift-docc-plugin, asn1kit, openssl-swift
[945/24661] Fetching swift-docc-plugin, asn1kit, openssl-swift, nimble
Fetched https://github.com/apple/swift-docc-plugin (1.66s)
Fetched https://github.com/gematik/OpenSSL-Swift (1.66s)
Fetched https://github.com/gematik/ASN1Kit.git (1.66s)
[2199/19986] Fetching nimble
Fetched https://github.com/Quick/Nimble (2.50s)
Computing version for https://github.com/gematik/ASN1Kit.git
Computed https://github.com/gematik/ASN1Kit.git at 1.3.1 (5.34s)
Fetching http://github.com/Carthage/Commandant
[1/2329] Fetching commandant
Fetched http://github.com/Carthage/Commandant (1.68s)
Computing version for http://github.com/Carthage/Commandant
Computed http://github.com/Carthage/Commandant at 0.18.0 (2.36s)
Computing version for https://github.com/Quick/Nimble
Computed https://github.com/Quick/Nimble at 12.3.0 (0.67s)
Fetching https://github.com/mattgallagher/CwlPreconditionTesting.git
[1/1257] Fetching cwlpreconditiontesting
Fetched https://github.com/mattgallagher/CwlPreconditionTesting.git (1.47s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.2.2 (2.17s)
Fetching https://github.com/mattgallagher/CwlCatchException.git
[1/460] Fetching cwlcatchexception
Fetched https://github.com/mattgallagher/CwlCatchException.git (0.90s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.2.1 (1.63s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.5.0 (0.65s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3829] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (1.40s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.15s)
Computing version for https://github.com/gematik/OpenSSL-Swift
Computed https://github.com/gematik/OpenSSL-Swift at 4.6.2 (0.65s)
Creating working copy for https://github.com/Quick/Nimble
Working copy of https://github.com/Quick/Nimble resolved at 12.3.0
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.5.0
Creating working copy for http://github.com/Carthage/Commandant
Working copy of http://github.com/Carthage/Commandant resolved at 0.18.0
Creating working copy for https://github.com/gematik/OpenSSL-Swift
Working copy of https://github.com/gematik/OpenSSL-Swift resolved at 4.6.2
Creating working copy for https://github.com/gematik/ASN1Kit.git
Working copy of https://github.com/gematik/ASN1Kit.git resolved at 1.3.1
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.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/mattgallagher/CwlCatchException.git
Working copy of https://github.com/mattgallagher/CwlCatchException.git resolved at 2.2.1
Downloading binary artifact https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip
[0/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (16 KB / 13 MB)
[0/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (49 KB / 13 MB)
[2/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (311 KB / 13 MB)
[4/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (573 KB / 13 MB)
[6/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (847 KB / 13 MB)
[8/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (1.1 MB / 13 MB)
[10/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (1.4 MB / 13 MB)
[12/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (1.6 MB / 13 MB)
[14/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (1.9 MB / 13 MB)
[16/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (2.2 MB / 13 MB)
[18/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (2.5 MB / 13 MB)
[20/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (2.7 MB / 13 MB)
[23/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (3 MB / 13 MB)
[25/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (3.3 MB / 13 MB)
[27/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (3.6 MB / 13 MB)
[29/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (3.9 MB / 13 MB)
[31/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (4.2 MB / 13 MB)
[34/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (4.4 MB / 13 MB)
[36/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (4.7 MB / 13 MB)
[38/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (5 MB / 13 MB)
[40/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (5.3 MB / 13 MB)
[42/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (5.6 MB / 13 MB)
[44/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (5.8 MB / 13 MB)
[46/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (6.1 MB / 13 MB)
[48/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (6.4 MB / 13 MB)
[51/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (6.7 MB / 13 MB)
[53/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (6.9 MB / 13 MB)
[55/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (7.2 MB / 13 MB)
[57/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (7.5 MB / 13 MB)
[59/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (7.8 MB / 13 MB)
[66/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (8.7 MB / 13 MB)
[69/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (9 MB / 13 MB)
[71/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (9.3 MB / 13 MB)
[73/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (9.6 MB / 13 MB)
[75/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (9.8 MB / 13 MB)
[77/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (10.1 MB / 13 MB)
[79/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (10.4 MB / 13 MB)
[81/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (10.7 MB / 13 MB)
[84/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (11 MB / 13 MB)
[86/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (11.2 MB / 13 MB)
[88/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (11.5 MB / 13 MB)
[90/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (11.8 MB / 13 MB)
[93/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (12.1 MB / 13 MB)
[95/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (12.4 MB / 13 MB)
[97/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (12.8 MB / 13 MB)
[100/100] Downloading https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (13 MB / 13 MB)
Downloaded https://github.com/gematik/OpenSSL-Swift/releases/download/4.6.2/OpenSSL.xcframework.zip (1.16s)
/Users/admin/builder/spi-builder-workspace/Sources/CardReaderProviderApi/Card/CardError.swift:32:10: warning: associated value 'objcError' of 'Sendable'-conforming enum 'CardError' has non-Sendable type 'NSException?'
30 |     case illegalState(Error?)
31 |     /// An ObjC NSException was thrown
32 |     case objcError(NSException?)
   |          `- warning: associated value 'objcError' of 'Sendable'-conforming enum 'CardError' has non-Sendable type 'NSException?'
33 | }
34 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable, ~Escapable where Wrapped : ~Copyable, Wrapped : ~Escapable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/CardReaderProviderApi/Card/CardError.swift:32:10: warning: associated value 'objcError' of 'Sendable'-conforming enum 'CardError' has non-Sendable type 'NSException?'
30 |     case illegalState(Error?)
31 |     /// An ObjC NSException was thrown
32 |     case objcError(NSException?)
   |          `- warning: associated value 'objcError' of 'Sendable'-conforming enum 'CardError' has non-Sendable type 'NSException?'
33 | }
34 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable, ~Escapable where Wrapped : ~Copyable, Wrapped : ~Escapable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/HealthCardControl/SecureMessaging/KeyAgreement.swift:257:20: warning: 'publisher(for:writeTimeout:readTimeout:)' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
255 |             }
256 |             .flatMap {
257 |                 $0.publisher(for: card, writeTimeout: writeTimeout, readTimeout: readTimeout)
    |                    `- warning: 'publisher(for:writeTimeout:readTimeout:)' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
258 |             }
259 |             .eraseToAnyPublisher()
/Users/admin/builder/spi-builder-workspace/Sources/HealthCardControl/SecureMessaging/KeyAgreement.swift:295:20: warning: 'publisher(for:writeTimeout:readTimeout:)' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
293 |             .setFailureType(to: Swift.Error.self)
294 |             .flatMap {
295 |                 $0.publisher(for: card, writeTimeout: writeTimeout, readTimeout: readTimeout)
    |                    `- warning: 'publisher(for:writeTimeout:readTimeout:)' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
296 |             }
297 |             .tryMap { (response: HealthCardResponseType) -> Data in
/Users/admin/builder/spi-builder-workspace/Sources/HealthCardControl/SecureMessaging/KeyAgreement.swift:358:21: warning: 'publisher(for:writeTimeout:readTimeout:)' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
356 |         }
357 |         .flatMap { (keyPair1: BrainpoolP256r1.KeyExchange.PrivateKey, command: HealthCardCommandType) in
358 |             command.publisher(for: card, writeTimeout: writeTimeout, readTimeout: readTimeout)
    |                     `- warning: 'publisher(for:writeTimeout:readTimeout:)' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
359 |                 .tryMap { pk1PiccResponse in
360 |                     guard let pk1PiccResponseData = pk1PiccResponse.data else {
/Users/admin/builder/spi-builder-workspace/Sources/HealthCardControl/SecureMessaging/KeyAgreement.swift:416:20: warning: 'publisher(for:writeTimeout:readTimeout:)' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
414 |             }
415 |             .flatMap {
416 |                 $0.publisher(for: card, writeTimeout: writeTimeout, readTimeout: readTimeout)
    |                    `- warning: 'publisher(for:writeTimeout:readTimeout:)' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
417 |             }
418 |             .tryMap { (pk2PiccResponse: HealthCardResponseType) in
/Users/admin/builder/spi-builder-workspace/Sources/HealthCardControl/SecureMessaging/KeyAgreement.swift:476:20: warning: 'publisher(for:writeTimeout:readTimeout:)' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
474 |             }
475 |             .flatMap {
476 |                 $0.publisher(for: card, writeTimeout: writeTimeout, readTimeout: readTimeout)
    |                    `- warning: 'publisher(for:writeTimeout:readTimeout:)' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
477 |             }
478 |             .tryMap { (macPiccResponse: HealthCardResponseType) -> Bool in
/Users/admin/builder/spi-builder-workspace/Sources/HealthCardControl/SecureMessaging/SecureCardChannel.swift:65:45: warning: 'transmitPublisher(command:writeTimeout:readTimeout:)' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 63 |         )
 64 |         let encryptedCommand = try session.encrypt(command: command)
 65 |         let encryptedResponse = try channel.transmitPublisher(command: encryptedCommand,
    |                                             `- warning: 'transmitPublisher(command:writeTimeout:readTimeout:)' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 66 |                                                               writeTimeout: writeTimeout,
 67 |                                                               readTimeout: readTimeout)
/Users/admin/builder/spi-builder-workspace/Sources/HealthCardControl/SecureMessaging/SecureCardChannel.swift:110:21: warning: 'closePublisher()' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
108 |     func closePublisher() throws {
109 |         session.invalidate()
110 |         try channel.closePublisher()
    |                     `- warning: 'closePublisher()' is deprecated: Use structured concurrency version instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
111 |     }
112 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete.
{
  "dependencies" : [
    {
      "identity" : "asn1kit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/gematik/ASN1Kit.git"
    },
    {
      "identity" : "openssl-swift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.2.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/gematik/OpenSSL-Swift"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    },
    {
      "identity" : "nimble",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "12.0.0",
            "upper_bound" : "13.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Quick/Nimble"
    }
  ],
  "manifest_display_name" : "Openhealthcardkit",
  "name" : "Openhealthcardkit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "HealthCardControl",
      "targets" : [
        "HealthCardControl"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "NFCCardReaderProvider",
      "targets" : [
        "NFCCardReaderProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "HealthCardAccess",
      "targets" : [
        "HealthCardAccess"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CardReaderProviderApi",
      "targets" : [
        "CardReaderProviderApi"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Helper",
      "targets" : [
        "Helper"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CardReaderAccess",
      "targets" : [
        "CardReaderAccess"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "NFCCardReaderProvider",
      "module_type" : "SwiftTarget",
      "name" : "NFCCardReaderProvider",
      "path" : "Sources/NFCCardReaderProvider",
      "product_memberships" : [
        "NFCCardReaderProvider"
      ],
      "sources" : [
        "Card/Data+Hex.swift",
        "Card/NFCCard.swift",
        "Card/NFCCardChannel.swift",
        "Card/NFCCardError.swift",
        "Card/NFCISO7816APDU+CommandType.swift",
        "Logger.swift",
        "NFCHealthCardSession.swift",
        "Reader/CoreNFCError.swift",
        "Reader/NFCTagReaderSession+Publisher.swift"
      ],
      "target_dependencies" : [
        "HealthCardControl",
        "HealthCardAccess",
        "Helper"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Helper",
      "module_type" : "SwiftTarget",
      "name" : "Helper",
      "path" : "Sources/Helper",
      "product_memberships" : [
        "HealthCardControl",
        "NFCCardReaderProvider",
        "HealthCardAccess",
        "CardReaderProviderApi",
        "Helper",
        "CardReaderAccess"
      ],
      "sources" : [
        "CommandLogger.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "HealthCardControlTests",
      "module_type" : "SwiftTarget",
      "name" : "HealthCardControlTests",
      "path" : "Tests/HealthCardControlTests",
      "product_dependencies" : [
        "Nimble"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardControlTests/Resources.bundle/FCP/fcp_A000000167455349474E.dat",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Crypto/AESTests.swift",
        "Crypto/DataSecureTest.swift",
        "Crypto/KeyDerivationFunctionTest.swift",
        "ResourceLoader.swift",
        "SecureMessaging/AES128PaceKeyTest.swift",
        "SecureMessaging/HealthCardTypeExtESIGNTest.swift",
        "SecureMessaging/ResponseType+Bytes.swift",
        "Util/AnyPublisher+Test.swift"
      ],
      "target_dependencies" : [
        "HealthCardControl"
      ],
      "type" : "test"
    },
    {
      "c99name" : "HealthCardControl",
      "module_type" : "SwiftTarget",
      "name" : "HealthCardControl",
      "path" : "Sources/HealthCardControl",
      "product_dependencies" : [
        "OpenSSL-Swift"
      ],
      "product_memberships" : [
        "HealthCardControl",
        "NFCCardReaderProvider"
      ],
      "sources" : [
        "Authentication/HealthCardType+Authenticate.swift",
        "Authentication/HealthCardType+ChangeReferenceData.swift",
        "Authentication/HealthCardType+ESIGN.swift",
        "Authentication/HealthCardType+ResetRetryCounter.swift",
        "Authentication/HealthCardType+VerifyPin.swift",
        "Authentication/ResponseStatus+WrongSecret.swift",
        "Crypto/AES.swift",
        "Crypto/Data+Secure.swift",
        "Crypto/KeyDerivationFunction.swift",
        "Logger.swift",
        "Operations/CardChannelType+CardAID.swift",
        "Operations/CardChannelType+CardAccess.swift",
        "Operations/CardChannelType+Version.swift",
        "Operations/HealthCard+Error.swift",
        "Operations/HealthCardType+ReadFile.swift",
        "SecureMessaging/AES128PaceKey.swift",
        "SecureMessaging/CardType+SecureMessaging.swift",
        "SecureMessaging/Data+Hex.swift",
        "SecureMessaging/KeyAgreement.swift",
        "SecureMessaging/SecureCardChannel.swift",
        "SecureMessaging/SecureHealthCard.swift",
        "SecureMessaging/SecureMessaging.swift"
      ],
      "target_dependencies" : [
        "HealthCardAccess",
        "Helper"
      ],
      "type" : "library"
    },
    {
      "c99name" : "HealthCardAccessTests",
      "module_type" : "SwiftTarget",
      "name" : "HealthCardAccessTests",
      "path" : "Tests/HealthCardAccessTests",
      "product_dependencies" : [
        "Nimble"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/CVC/EF.C.CA_HPC.CS.E256.der",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/CVC/EF.C.HPC.AUTR_CVC.E256.der",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/CVC/GemCVC.der",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/ansix9p256r1_ecpubkey.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/ansix9p256r1_ecpubkey.der",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/ansix9p256r1_expected_apdu.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/ansix9p256r1_hash.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/ansix9p256r1_signature.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/ansix9p256r1_signature_invalid_toolongsequence.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/ansix9p256r1_signature_normalized.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/ansix9p384r1_ecpubkey.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/ansix9p384r1_ecpubkey.der",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/ansix9p384r1_expected_apdu.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/ansix9p384r1_hash.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/ansix9p384r1_signature.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/ansix9p384r1_signature_normalized.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP256r1_ecpubkey.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP256r1_ecpubkey.der",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP256r1_expected_apdu.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP256r1_hash.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP256r1_signature.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP256r1_signature_normalized.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP384r1_ecpubkey.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP384r1_ecpubkey.der",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP384r1_expected_apdu.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP384r1_hash.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP384r1_signature.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP384r1_signature_normalized.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP512r1_ecpubkey.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP512r1_ecpubkey.der",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP512r1_expected_apdu.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP512r1_hash.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP512r1_signature.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/DSA/brainpoolP512r1_signature_normalized.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/EC/ec_pub_key.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/EC/ec_pub_key.der",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/FCP/fcp_adf_A000000167455349474E_apdu.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/FCP/fcp_df_A000000167455349474E_apdu.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/FCP/fcp_nett_length_apdu.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/PSO/apduEncipherElc.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/PSO/apduEncipherRsaOaep.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/PSO/apduEncipherRsaPkcs1v15.dat",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/PSO/elc_pub_key.der",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/HealthCardAccessTests/Resources.bundle/PSO/rsa_pub_key.der",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "CardObjects/ApplicationIdentifierTest.swift",
        "CardObjects/FileControlParameterTest.swift",
        "CardObjects/FileIdentifierTest.swift",
        "CardObjects/Format2PinTest.swift",
        "CardObjects/GemCvCertificateTest.swift",
        "CardObjects/KeyTest.swift",
        "CardObjects/PasswordTest.swift",
        "CardObjects/ShortFileIdentifierTest.swift",
        "Commands/DataExtNormalize.swift",
        "Commands/HCCExtAccessStructuredDataTest.swift",
        "Commands/HCCExtAccessTransparentDataTest.swift",
        "Commands/HCCExtAuthenticationTest.swift",
        "Commands/HCCExtManageSETest.swift",
        "Commands/HCCExtMiscTest.swift",
        "Commands/HCCExtObjectSystemManagementTest.swift",
        "Commands/HCCExtPerformSecurityOperationTest.swift",
        "Commands/HCCExtUserVerificationTest.swift",
        "Commands/HealthCardCommandBuilderTest.swift",
        "HealthCardPropertyTypeTest.swift",
        "HealthCardStatusTest.swift",
        "Models/CANTest.swift",
        "Models/CardGenerationTest.swift",
        "Models/CardVersion2Test.swift",
        "Models/ECCurveInfoTest.swift",
        "Models/SignatureAlgorithmTest.swift",
        "Responses/HealthCardResponseTest.swift",
        "Util/AnyPublisher+Test.swift",
        "Util/ResourceLoader.swift"
      ],
      "target_dependencies" : [
        "HealthCardAccess"
      ],
      "type" : "test"
    },
    {
      "c99name" : "HealthCardAccess",
      "module_type" : "SwiftTarget",
      "name" : "HealthCardAccess",
      "path" : "Sources/HealthCardAccess",
      "product_dependencies" : [
        "ASN1Kit"
      ],
      "product_memberships" : [
        "HealthCardControl",
        "NFCCardReaderProvider",
        "HealthCardAccess"
      ],
      "sources" : [
        "CardObjects/ApplicationIdentifier.swift",
        "CardObjects/CardItemType.swift",
        "CardObjects/CardKeyReferenceType.swift",
        "CardObjects/CardObjectIdentifierType.swift",
        "CardObjects/DedicatedFile.swift",
        "CardObjects/ElementaryFile.swift",
        "CardObjects/FileControlParameter.swift",
        "CardObjects/FileIdentifier.swift",
        "CardObjects/Format2Pin.swift",
        "CardObjects/GemCvCertificate.swift",
        "CardObjects/Key.swift",
        "CardObjects/PSOAlgorithm.swift",
        "CardObjects/Password.swift",
        "CardObjects/ShortFileIdentifier.swift",
        "Commands/Data+Normalize.swift",
        "Commands/HealthCardCommand+AccessStructuredData.swift",
        "Commands/HealthCardCommand+AccessTransparentData.swift",
        "Commands/HealthCardCommand+Authentication.swift",
        "Commands/HealthCardCommand+ManageSE.swift",
        "Commands/HealthCardCommand+Misc.swift",
        "Commands/HealthCardCommand+ObjectSystemManagement.swift",
        "Commands/HealthCardCommand+PerfomSecurityOperation.swift",
        "Commands/HealthCardCommand+UserVerification.swift",
        "Commands/HealthCardCommand.swift",
        "Commands/HealthCardCommandBuilder.swift",
        "Data+Hex.swift",
        "Extension/UInt8+Data.swift",
        "HealthCard.swift",
        "HealthCardCommandType.swift",
        "HealthCardPropertyType.swift",
        "HealthCardResponseType.swift",
        "HealthCardStatus.swift",
        "HealthCardType.swift",
        "HealthCards/CardFileSystem/EgkFileSystem.swift",
        "HealthCards/CardFileSystem/HbaFileSystem.swift",
        "HealthCards/CardFileSystem/HealthCardFileSystemType.swift",
        "HealthCards/CardFileSystem/SmcbFileSystem.swift",
        "Models/CAN.swift",
        "Models/CardGeneration.swift",
        "Models/CardVersion2.swift",
        "Models/CertificateInfo.swift",
        "Models/ECCurveInfo.swift",
        "Models/SignatureAlgorithm.swift",
        "Responses/HealthCardResponse.swift",
        "Responses/ResponseStatus.swift"
      ],
      "target_dependencies" : [
        "CardReaderProviderApi"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CardReaderProviderApiTests",
      "module_type" : "SwiftTarget",
      "name" : "CardReaderProviderApiTests",
      "path" : "Tests/CardReaderProviderApiTests",
      "product_dependencies" : [
        "Nimble"
      ],
      "sources" : [
        "Command/APDUCommandTest.swift",
        "Command/APDUResponseTest.swift",
        "Command/CommandTypeExtLogicChannelTests.swift",
        "Reader/CardReaderTest.swift"
      ],
      "target_dependencies" : [
        "CardReaderProviderApi"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CardReaderProviderApi",
      "module_type" : "SwiftTarget",
      "name" : "CardReaderProviderApi",
      "path" : "Sources/CardReaderProviderApi",
      "product_memberships" : [
        "HealthCardControl",
        "NFCCardReaderProvider",
        "HealthCardAccess",
        "CardReaderProviderApi",
        "CardReaderAccess"
      ],
      "sources" : [
        "Card/CardChannelType.swift",
        "Card/CardError.swift",
        "Card/CardProtocol.swift",
        "Card/CardType.swift",
        "Command/APDU.swift",
        "Command/CommandType+APDU.swift",
        "Command/CommandType+LogicChannel.swift",
        "Command/CommandType.swift",
        "Command/ResponseType+APDU.swift",
        "Command/ResponseType.swift",
        "Model/ProviderDescriptor.swift",
        "Model/ProviderDescriptorType.swift",
        "Provider/CardReaderProviderType.swift",
        "Reader/CardReaderControllerType.swift",
        "Reader/CardReaderType.swift"
      ],
      "target_dependencies" : [
        "Helper"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CardReaderAccessTests",
      "module_type" : "SwiftTarget",
      "name" : "CardReaderAccessTests",
      "path" : "Tests/CardReaderAccessTests",
      "product_dependencies" : [
        "Nimble"
      ],
      "sources" : [
        "CardReaderControllerManagerTest.swift",
        "XCTestManifests.swift",
        "internal/SwiftExtReflectionTest.swift"
      ],
      "target_dependencies" : [
        "CardReaderAccess"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CardReaderAccess",
      "module_type" : "SwiftTarget",
      "name" : "CardReaderAccess",
      "path" : "Sources/CardReaderAccess",
      "product_memberships" : [
        "CardReaderAccess"
      ],
      "sources" : [
        "CardReaderControllerManager.swift",
        "internal/Swift+Reflection.swift"
      ],
      "target_dependencies" : [
        "CardReaderProviderApi",
        "Helper"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
Done.