The Swift Package Index logo.Swift Package Index

Build Information

Successful build of ASN1Codable, reference main (9aa015), with Swift 6.4 for macOS (SPM) on 18 Sep 2026 20:35:13 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: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/PADL/ASN1Codable
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 9aa0155 Revert "workaround for Swift 6.3 build issue"
Cloned https://github.com/PADL/ASN1Codable.git
Revision (git rev-parse @):
9aa0155ad7294affcb6c807239afd75738d8938d
SUCCESS checkout https://github.com/PADL/ASN1Codable.git at main
========================================
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 / 423]
[Planning deferred tasks]
[84 / 188]
[99 / 195] CEcho
[103 / 197] BigNumber
[111 / 208]
[120 / 236]
[132 / 237]
[137 / 237]
[146 / 270]
[152 / 270] Atomics
[156 / 315]
[161 / 315]
[170 / 315]
[175 / 315] ArgumentParserToolInfo
[180 / 315]
[185 / 315]
[188 / 315] Atomics
[197 / 316] Atomics
[201 / 316]
[207 / 316]
[209 / 328]
[212 / 328]
[222 / 328]
[226 / 328]
[227 / 328]
[228 / 328]
[229 / 328]
[238 / 328] Echo
[242 / 328] DataKit
[259 / 328] Echo-product
[262 / 328] DataKit
[264 / 328] DataKit
[265 / 328] DataKit-product
[267 / 328] DataKit-product
[269 / 328] ArgumentParser
[285 / 328] ArgumentParser
[286 / 328] BigNumber
[288 / 328] AnyCodable
[293 / 329] ArgumentParser
[293 / 329] AnyCodable
[295 / 329] ArgumentParser
[303 / 340] ASN1Kit
[306 / 340] ASN1Kit
[314 / 342]
[316 / 342] HeimASN1Translator
[326 / 353] HeimASN1Translator
[329 / 364] ASN1Kit
[335 / 364] ASN1Codable
[344 / 364] HeimASN1Translator
[348 / 364]
[351 / 365] ASN1Codable
[357 / 365] ASN1Codable
[358 / 371] ASN1Codable
[365 / 371] ASN1Codable
[366 / 371] asn1json2swift-product
[367 / 371] asn1json2swift-product
[369 / 371] asn1json2swift-product
Build complete! (10.93 sec)
warning: 'spi-builder-workspace': /Users/admin/builder/spi-builder-workspace/Package.swift:14:15: warning: 'v4' is deprecated: watchOS 9.0 is the oldest supported version [#DeprecatedDeclaration]
12 |     .iOS(.v12),
13 |     .tvOS(.v12),
14 |     .watchOS(.v4),
   |               `- warning: 'v4' is deprecated: watchOS 9.0 is the oldest supported version [#DeprecatedDeclaration]
15 |   ],
16 |   products: [
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Fetching https://github.com/PADL/ASN1Kit
[1/1049] Fetching asn1kit
Fetched https://github.com/PADL/ASN1Kit (1.09s)
Fetching https://github.com/PADL/Echo
[1/868] Fetching echo
Fetched https://github.com/PADL/Echo (1.02s)
Fetching https://github.com/mkrd/Swift-BigInt
[1/2014] Fetching swift-bigint
Fetched https://github.com/mkrd/Swift-BigInt (1.59s)
Fetching https://github.com/SwiftCommon/DataKit.git
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/Flight-School/AnyCodable
Fetching https://github.com/apple/swift-atomics.git
[1/782] Fetching anycodable
[25/2657] Fetching anycodable, swift-atomics
[208/3881] Fetching anycodable, swift-atomics, datakit
[2065/22799] Fetching anycodable, swift-atomics, datakit, swift-argument-parser
Fetched https://github.com/SwiftCommon/DataKit.git (1.22s)
Fetched https://github.com/apple/swift-atomics.git (1.22s)
[1539/19700] Fetching anycodable, swift-argument-parser
Fetched https://github.com/Flight-School/AnyCodable (1.97s)
Fetched https://github.com/apple/swift-argument-parser (1.97s)
Computing version for https://github.com/SwiftCommon/DataKit.git
Computed https://github.com/SwiftCommon/DataKit.git at 1.1.0 (2.72s)
Fetching https://github.com/Quick/Nimble
[1/19986] Fetching nimble
Fetched https://github.com/Quick/Nimble (2.46s)
Computing version for https://github.com/Flight-School/AnyCodable
Computed https://github.com/Flight-School/AnyCodable at 0.6.7 (3.15s)
Computing version for https://github.com/Quick/Nimble
Computed https://github.com/Quick/Nimble at 9.2.1 (0.65s)
Fetching https://github.com/mattgallagher/CwlPreconditionTesting.git
[1/1257] Fetching cwlpreconditiontesting
Fetched https://github.com/mattgallagher/CwlPreconditionTesting.git (1.05s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.2.2 (1.70s)
Fetching https://github.com/mattgallagher/CwlCatchException.git
[1/460] Fetching cwlcatchexception
Fetched https://github.com/mattgallagher/CwlCatchException.git (0.82s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.2.1 (1.49s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.1 (0.55s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.61s)
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/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.3.1
Creating working copy for https://github.com/PADL/Echo
Working copy of https://github.com/PADL/Echo resolved at fix-release-build (d7e29ee)
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/mattgallagher/CwlCatchException.git
Working copy of https://github.com/mattgallagher/CwlCatchException.git resolved at 2.2.1
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/Quick/Nimble
Working copy of https://github.com/Quick/Nimble resolved at 9.2.1
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/SwiftCommon/DataKit.git
Working copy of https://github.com/SwiftCommon/DataKit.git resolved at 1.1.0
Creating working copy for https://github.com/mkrd/Swift-BigInt
Working copy of https://github.com/mkrd/Swift-BigInt resolved at master (e355084)
/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/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/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/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]
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/PADL/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" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    }
  ],
  "manifest_display_name" : "ASN1Codable",
  "name" : "ASN1Codable",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "4.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" : [
        "ArgumentParser"
      ],
      "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.9"
}
warning: 'spi-builder-workspace': /Users/admin/builder/spi-builder-workspace/Package.swift:14:15: warning: 'v4' is deprecated: watchOS 9.0 is the oldest supported version [#DeprecatedDeclaration]
12 |     .iOS(.v12),
13 |     .tvOS(.v12),
14 |     .watchOS(.v4),
   |               `- warning: 'v4' is deprecated: watchOS 9.0 is the oldest supported version [#DeprecatedDeclaration]
15 |   ],
16 |   products: [
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Done.