The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of SwiftJWT, reference master (29fe08), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 22:56:26 UTC.

Swift 6 data race errors: 9

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Kitura/Swift-JWT.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Kitura/Swift-JWT
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 29fe084 README: Update shields to refer to swift package index
Cloned https://github.com/Kitura/Swift-JWT.git
Revision (git rev-parse @):
29fe084d874045d22546612d85fae1e9408c9091
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/Kitura/Swift-JWT.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/Kitura/Swift-JWT.git
https://github.com/Kitura/Swift-JWT.git
{
  "dependencies" : [
    {
      "identity" : "bluersa",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.202",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Kitura/BlueRSA.git"
    },
    {
      "identity" : "bluecryptor",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Kitura/BlueCryptor.git"
    },
    {
      "identity" : "blueecc",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.200",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Kitura/BlueECC.git"
    },
    {
      "identity" : "loggerapi",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Kitura/LoggerAPI.git"
    },
    {
      "identity" : "kituracontracts",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Kitura/KituraContracts.git"
    }
  ],
  "manifest_display_name" : "SwiftJWT",
  "name" : "SwiftJWT",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SwiftJWT",
      "targets" : [
        "SwiftJWT"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftJWTTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftJWTTests",
      "path" : "Tests/SwiftJWTTests",
      "sources" : [
        "TestJWT.swift"
      ],
      "target_dependencies" : [
        "SwiftJWT"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftJWT",
      "module_type" : "SwiftTarget",
      "name" : "SwiftJWT",
      "path" : "Sources/SwiftJWT",
      "product_dependencies" : [
        "LoggerAPI",
        "KituraContracts",
        "CryptorRSA",
        "Cryptor",
        "CryptorECC"
      ],
      "product_memberships" : [
        "SwiftJWT"
      ],
      "sources" : [
        "BlueECDSA.swift",
        "BlueHMAC.swift",
        "BlueRSA.swift",
        "Claims.swift",
        "ClaimsExamples/ClaimsMicroProfile.swift",
        "ClaimsExamples/ClaimsOpenID.swift",
        "ClaimsExamples/ClaimsStandardJWT.swift",
        "Data+Base64URLEncoded.swift",
        "Header.swift",
        "JWT.swift",
        "JWTDecoder.swift",
        "JWTEncoder.swift",
        "JWTError.swift",
        "JWTSigner.swift",
        "JWTVerifier.swift",
        "NoneAlgorithm.swift",
        "RSAKeyType.swift",
        "SignerAlgorithm.swift",
        "ValidateClaimsResult.swift",
        "VerifierAlgorithm.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/8] Write sources
[7/8] Write swift-version-2F0A5646E1D333AE.txt
[9/44] Compiling Logging LogHandler.swift
[10/44] Compiling Logging MetadataProvider.swift
[11/44] Compiling Logging Locks.swift
[12/44] Compiling Logging Logging.swift
[13/44] Emitting module Logging
[14/46] Compiling CryptorRSA SSLPointerTricks.swift
[15/46] Compiling CryptorECC ECPublicKey.swift
[16/47] Compiling Cryptor SSLPointerTricks.swift
[17/48] Compiling LoggerAPI Logger.swift
[18/48] Emitting module LoggerAPI
[19/48] Compiling CryptorRSA Data+Extensions.swift
[20/48] Compiling CryptorRSA CryptorRSAUtilities.swift
[21/48] Compiling Cryptor Random.swift
[22/48] Compiling Cryptor HMAC.swift
[23/48] Compiling Cryptor Digest.swift
[24/48] Compiling CryptorRSA CryptorRSAKey.swift
[25/48] Compiling CryptorRSA CryptorRSADigest.swift
[26/48] Compiling CryptorRSA CryptorRSAErrors.swift
[27/48] Compiling Cryptor Updatable.swift
[28/48] Compiling Cryptor Status.swift
[29/48] Compiling Cryptor StreamCryptor.swift
[30/48] Compiling CryptorECC ECEncryptable.swift
[31/48] Compiling CryptorECC ECDecryptable.swift
[32/48] Compiling CryptorECC ECError.swift
[33/48] Compiling Cryptor Crypto.swift
[34/48] Compiling Cryptor Cryptor.swift
[35/48] Compiling CryptorECC ECPrivateKey.swift
[36/48] Emitting module CryptorECC
[37/48] Compiling CryptorECC EllipticCurve.swift
[38/48] Compiling CryptorECC ECSignature.swift
[39/48] Emitting module CryptorRSA
[40/48] Compiling CryptorRSA CryptorRSA.swift
[41/48] Compiling CryptorRSA CryptorRSAConstants.swift
[42/48] Compiling Cryptor KeyDerivation.swift
[43/48] Compiling CryptorECC ECSignable.swift
[44/48] Emitting module Cryptor
[47/58] Compiling CryptorECC SSLPointerTricks.swift
[48/58] Compiling Cryptor Utilities.swift
[49/58] Compiling KituraContracts ClosureAliases.swift
[50/58] Emitting module KituraContracts
[51/58] Compiling KituraContracts BodyDecoder.swift
[52/58] Compiling KituraContracts BodyFormat.swift
[53/58] Compiling KituraContracts QueryEncoder.swift
[54/58] Compiling KituraContracts BodyEncoder.swift
[55/58] Compiling KituraContracts Extensions.swift
[56/58] Compiling KituraContracts Coder.swift
[57/58] Compiling KituraContracts Contracts.swift
[58/58] Compiling KituraContracts QueryDecoder.swift
[59/77] Compiling SwiftJWT RSAKeyType.swift
[60/77] Compiling SwiftJWT SignerAlgorithm.swift
[61/77] Compiling SwiftJWT JWTVerifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/JWTVerifier.swift:151:23: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'JWTVerifier' may have shared mutable state; this is an error in the Swift 6 language mode
 43 |  ```
 44 |  */
 45 | public struct JWTVerifier {
    |               `- note: consider making struct 'JWTVerifier' conform to the 'Sendable' protocol
 46 |     let verifierAlgorithm: VerifierAlgorithm
 47 |
    :
149 |
150 |     /// Initialize a JWTVerifier that will always return true when verifying the JWT. This is equivelent to using the "none" alg header.
151 |     public static let none = JWTVerifier(verifierAlgorithm: NoneAlgorithm())
    |                       |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'JWTVerifier' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'none' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
152 | }
153 |
[62/77] Compiling SwiftJWT NoneAlgorithm.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/JWTVerifier.swift:151:23: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'JWTVerifier' may have shared mutable state; this is an error in the Swift 6 language mode
 43 |  ```
 44 |  */
 45 | public struct JWTVerifier {
    |               `- note: consider making struct 'JWTVerifier' conform to the 'Sendable' protocol
 46 |     let verifierAlgorithm: VerifierAlgorithm
 47 |
    :
149 |
150 |     /// Initialize a JWTVerifier that will always return true when verifying the JWT. This is equivelent to using the "none" alg header.
151 |     public static let none = JWTVerifier(verifierAlgorithm: NoneAlgorithm())
    |                       |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'JWTVerifier' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'none' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
152 | }
153 |
[63/79] Compiling SwiftJWT Header.swift
[64/79] Compiling SwiftJWT JWT.swift
[65/79] Compiling SwiftJWT JWTError.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/JWTSigner.swift:145:23: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'JWTSigner' may have shared mutable state; this is an error in the Swift 6 language mode
 50 |  ```
 51 |  */
 52 | public struct JWTSigner {
    |               `- note: consider making struct 'JWTSigner' conform to the 'Sendable' protocol
 53 |
 54 |     /// The name of the algorithm that will be set in the "alg" header
    :
143 |
144 |     /// Initialize a JWTSigner that will not sign the JWT. This is equivelent to using the "none" alg header.
145 |     public static let none = JWTSigner(name: "none", signerAlgorithm: NoneAlgorithm())
    |                       |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'JWTSigner' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'none' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
146 | }
147 |
[66/79] Compiling SwiftJWT JWTSigner.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/JWTSigner.swift:145:23: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'JWTSigner' may have shared mutable state; this is an error in the Swift 6 language mode
 50 |  ```
 51 |  */
 52 | public struct JWTSigner {
    |               `- note: consider making struct 'JWTSigner' conform to the 'Sendable' protocol
 53 |
 54 |     /// The name of the algorithm that will be set in the "alg" header
    :
143 |
144 |     /// Initialize a JWTSigner that will not sign the JWT. This is equivelent to using the "none" alg header.
145 |     public static let none = JWTSigner(name: "none", signerAlgorithm: NoneAlgorithm())
    |                       |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'JWTSigner' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'none' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
146 | }
147 |
[67/79] Compiling SwiftJWT ValidateClaimsResult.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:28:23: warning: static property 'success' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
26 |
27 |     /// Successful validation.
28 |     public static let success = ValidateClaimsResult(description: "Success")
   |                       |- warning: static property 'success' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'success' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     /// Invalid Expiration claim.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:31:23: warning: static property 'invalidExpiration' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
29 |
30 |     /// Invalid Expiration claim.
31 |     public static let invalidExpiration = ValidateClaimsResult(description: "Invalid Expiration claim")
   |                       |- warning: static property 'invalidExpiration' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'invalidExpiration' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 |
33 |     /// Expired token: expiration time claim is in the past.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:34:23: warning: static property 'expired' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
32 |
33 |     /// Expired token: expiration time claim is in the past.
34 |     public static let expired = ValidateClaimsResult(description: "Expired token")
   |                       |- warning: static property 'expired' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'expired' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 |
36 |     /// Invalid Not Before claim.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:37:23: warning: static property 'invalidNotBefore' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
35 |
36 |     /// Invalid Not Before claim.
37 |     public static let invalidNotBefore = ValidateClaimsResult(description: "Invalid Not Before claim")
   |                       |- warning: static property 'invalidNotBefore' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'invalidNotBefore' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 |     /// Not Before claim is in the future.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:40:23: warning: static property 'notBefore' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
38 |
39 |     /// Not Before claim is in the future.
40 |     public static let notBefore = ValidateClaimsResult(description: "Token is not valid yet, Not Before claim is greater than the current time")
   |                       |- warning: static property 'notBefore' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'notBefore' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
41 |
42 |     /// Invalid Issued At claim.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:43:23: warning: static property 'invalidIssuedAt' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
41 |
42 |     /// Invalid Issued At claim.
43 |     public static let invalidIssuedAt = ValidateClaimsResult(description: "Invalid Issued At claim")
   |                       |- warning: static property 'invalidIssuedAt' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'invalidIssuedAt' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 |     /// Issued At claim is in the future.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:46:23: warning: static property 'issuedAt' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
44 |
45 |     /// Issued At claim is in the future.
46 |     public static let issuedAt = ValidateClaimsResult(description: "Issued At claim is greater than the current time")
   |                       |- warning: static property 'issuedAt' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'issuedAt' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 |
48 |     /// Check if two ValidateClaimsResults are equal. Required for the Equatable protocol
[68/79] Compiling SwiftJWT VerifierAlgorithm.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:28:23: warning: static property 'success' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
26 |
27 |     /// Successful validation.
28 |     public static let success = ValidateClaimsResult(description: "Success")
   |                       |- warning: static property 'success' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'success' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     /// Invalid Expiration claim.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:31:23: warning: static property 'invalidExpiration' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
29 |
30 |     /// Invalid Expiration claim.
31 |     public static let invalidExpiration = ValidateClaimsResult(description: "Invalid Expiration claim")
   |                       |- warning: static property 'invalidExpiration' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'invalidExpiration' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 |
33 |     /// Expired token: expiration time claim is in the past.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:34:23: warning: static property 'expired' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
32 |
33 |     /// Expired token: expiration time claim is in the past.
34 |     public static let expired = ValidateClaimsResult(description: "Expired token")
   |                       |- warning: static property 'expired' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'expired' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 |
36 |     /// Invalid Not Before claim.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:37:23: warning: static property 'invalidNotBefore' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
35 |
36 |     /// Invalid Not Before claim.
37 |     public static let invalidNotBefore = ValidateClaimsResult(description: "Invalid Not Before claim")
   |                       |- warning: static property 'invalidNotBefore' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'invalidNotBefore' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 |     /// Not Before claim is in the future.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:40:23: warning: static property 'notBefore' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
38 |
39 |     /// Not Before claim is in the future.
40 |     public static let notBefore = ValidateClaimsResult(description: "Token is not valid yet, Not Before claim is greater than the current time")
   |                       |- warning: static property 'notBefore' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'notBefore' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
41 |
42 |     /// Invalid Issued At claim.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:43:23: warning: static property 'invalidIssuedAt' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
41 |
42 |     /// Invalid Issued At claim.
43 |     public static let invalidIssuedAt = ValidateClaimsResult(description: "Invalid Issued At claim")
   |                       |- warning: static property 'invalidIssuedAt' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'invalidIssuedAt' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 |     /// Issued At claim is in the future.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:46:23: warning: static property 'issuedAt' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
44 |
45 |     /// Issued At claim is in the future.
46 |     public static let issuedAt = ValidateClaimsResult(description: "Issued At claim is greater than the current time")
   |                       |- warning: static property 'issuedAt' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'issuedAt' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 |
48 |     /// Check if two ValidateClaimsResults are equal. Required for the Equatable protocol
[69/79] Compiling SwiftJWT ClaimsStandardJWT.swift
[70/79] Compiling SwiftJWT Data+Base64URLEncoded.swift
[71/79] Compiling SwiftJWT BlueRSA.swift
[72/79] Compiling SwiftJWT Claims.swift
[73/79] Compiling SwiftJWT ClaimsMicroProfile.swift
[74/79] Compiling SwiftJWT ClaimsOpenID.swift
[75/79] Emitting module SwiftJWT
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/JWTSigner.swift:145:23: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'JWTSigner' may have shared mutable state; this is an error in the Swift 6 language mode
 50 |  ```
 51 |  */
 52 | public struct JWTSigner {
    |               `- note: consider making struct 'JWTSigner' conform to the 'Sendable' protocol
 53 |
 54 |     /// The name of the algorithm that will be set in the "alg" header
    :
143 |
144 |     /// Initialize a JWTSigner that will not sign the JWT. This is equivelent to using the "none" alg header.
145 |     public static let none = JWTSigner(name: "none", signerAlgorithm: NoneAlgorithm())
    |                       |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'JWTSigner' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'none' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
146 | }
147 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/JWTVerifier.swift:151:23: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'JWTVerifier' may have shared mutable state; this is an error in the Swift 6 language mode
 43 |  ```
 44 |  */
 45 | public struct JWTVerifier {
    |               `- note: consider making struct 'JWTVerifier' conform to the 'Sendable' protocol
 46 |     let verifierAlgorithm: VerifierAlgorithm
 47 |
    :
149 |
150 |     /// Initialize a JWTVerifier that will always return true when verifying the JWT. This is equivelent to using the "none" alg header.
151 |     public static let none = JWTVerifier(verifierAlgorithm: NoneAlgorithm())
    |                       |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'JWTVerifier' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'none' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
152 | }
153 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:28:23: warning: static property 'success' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
26 |
27 |     /// Successful validation.
28 |     public static let success = ValidateClaimsResult(description: "Success")
   |                       |- warning: static property 'success' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'success' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |
30 |     /// Invalid Expiration claim.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:31:23: warning: static property 'invalidExpiration' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
29 |
30 |     /// Invalid Expiration claim.
31 |     public static let invalidExpiration = ValidateClaimsResult(description: "Invalid Expiration claim")
   |                       |- warning: static property 'invalidExpiration' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'invalidExpiration' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 |
33 |     /// Expired token: expiration time claim is in the past.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:34:23: warning: static property 'expired' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
32 |
33 |     /// Expired token: expiration time claim is in the past.
34 |     public static let expired = ValidateClaimsResult(description: "Expired token")
   |                       |- warning: static property 'expired' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'expired' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
35 |
36 |     /// Invalid Not Before claim.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:37:23: warning: static property 'invalidNotBefore' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
35 |
36 |     /// Invalid Not Before claim.
37 |     public static let invalidNotBefore = ValidateClaimsResult(description: "Invalid Not Before claim")
   |                       |- warning: static property 'invalidNotBefore' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'invalidNotBefore' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 |     /// Not Before claim is in the future.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:40:23: warning: static property 'notBefore' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
38 |
39 |     /// Not Before claim is in the future.
40 |     public static let notBefore = ValidateClaimsResult(description: "Token is not valid yet, Not Before claim is greater than the current time")
   |                       |- warning: static property 'notBefore' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'notBefore' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
41 |
42 |     /// Invalid Issued At claim.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:43:23: warning: static property 'invalidIssuedAt' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
41 |
42 |     /// Invalid Issued At claim.
43 |     public static let invalidIssuedAt = ValidateClaimsResult(description: "Invalid Issued At claim")
   |                       |- warning: static property 'invalidIssuedAt' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'invalidIssuedAt' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |
45 |     /// Issued At claim is in the future.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftJWT/ValidateClaimsResult.swift:46:23: warning: static property 'issuedAt' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
20 | /// In case of successful validation, .success is returned, all other cases list various
21 | /// problems that may occur during claims validation and indicate that the validation failed.
22 | public struct ValidateClaimsResult: CustomStringConvertible, Equatable {
   |               `- note: consider making struct 'ValidateClaimsResult' conform to the 'Sendable' protocol
23 |
24 |     /// The human readable description of the ValidateClaimsResult
   :
44 |
45 |     /// Issued At claim is in the future.
46 |     public static let issuedAt = ValidateClaimsResult(description: "Issued At claim is greater than the current time")
   |                       |- warning: static property 'issuedAt' is not concurrency-safe because non-'Sendable' type 'ValidateClaimsResult' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'issuedAt' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 |
48 |     /// Check if two ValidateClaimsResults are equal. Required for the Equatable protocol
[76/79] Compiling SwiftJWT JWTDecoder.swift
[77/79] Compiling SwiftJWT JWTEncoder.swift
[78/79] Compiling SwiftJWT BlueECDSA.swift
[79/79] Compiling SwiftJWT BlueHMAC.swift
Build complete! (16.88s)
Fetching https://github.com/Kitura/BlueRSA.git
Fetching https://github.com/Kitura/BlueECC.git
Fetching https://github.com/Kitura/BlueCryptor.git
Fetching https://github.com/Kitura/LoggerAPI.git
Fetching https://github.com/Kitura/KituraContracts.git
[1/771] Fetching loggerapi
[71/2425] Fetching loggerapi, bluecryptor
[369/4971] Fetching loggerapi, bluecryptor, kituracontracts
[471/6989] Fetching loggerapi, bluecryptor, kituracontracts, bluersa
[699/8010] Fetching loggerapi, bluecryptor, kituracontracts, bluersa, blueecc
Fetched https://github.com/Kitura/LoggerAPI.git from cache (0.93s)
[4973/7239] Fetching bluecryptor, kituracontracts, bluersa, blueecc
Fetched https://github.com/Kitura/BlueCryptor.git from cache (0.93s)
Fetched https://github.com/Kitura/BlueRSA.git from cache (0.93s)
[1327/3567] Fetching kituracontracts, blueecc
Fetched https://github.com/Kitura/BlueECC.git from cache (1.13s)
Fetched https://github.com/Kitura/KituraContracts.git from cache (1.13s)
Computing version for https://github.com/Kitura/KituraContracts.git
Computed https://github.com/Kitura/KituraContracts.git at 2.0.1 (1.75s)
Computing version for https://github.com/Kitura/LoggerAPI.git
Computed https://github.com/Kitura/LoggerAPI.git at 2.0.0 (0.58s)
Fetching https://github.com/apple/swift-log.git from cache
Fetched https://github.com/apple/swift-log.git from cache (0.72s)
Computing version for https://github.com/Kitura/BlueECC.git
Computed https://github.com/Kitura/BlueECC.git at 1.2.201 (1.32s)
Computing version for https://github.com/Kitura/BlueCryptor.git
Computed https://github.com/Kitura/BlueCryptor.git at 2.0.2 (0.56s)
Computing version for https://github.com/Kitura/BlueRSA.git
Computed https://github.com/Kitura/BlueRSA.git at 1.0.203 (0.57s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.3 (0.44s)
Creating working copy for https://github.com/Kitura/BlueRSA.git
Working copy of https://github.com/Kitura/BlueRSA.git resolved at 1.0.203
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.3
Creating working copy for https://github.com/Kitura/BlueECC.git
Working copy of https://github.com/Kitura/BlueECC.git resolved at 1.2.201
Creating working copy for https://github.com/Kitura/BlueCryptor.git
Working copy of https://github.com/Kitura/BlueCryptor.git resolved at 2.0.2
Creating working copy for https://github.com/Kitura/KituraContracts.git
Working copy of https://github.com/Kitura/KituraContracts.git resolved at 2.0.1
Creating working copy for https://github.com/Kitura/LoggerAPI.git
Working copy of https://github.com/Kitura/LoggerAPI.git resolved at 2.0.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "bluersa",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.202",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Kitura/BlueRSA.git"
    },
    {
      "identity" : "bluecryptor",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Kitura/BlueCryptor.git"
    },
    {
      "identity" : "blueecc",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.200",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Kitura/BlueECC.git"
    },
    {
      "identity" : "loggerapi",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Kitura/LoggerAPI.git"
    },
    {
      "identity" : "kituracontracts",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.1",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Kitura/KituraContracts.git"
    }
  ],
  "manifest_display_name" : "SwiftJWT",
  "name" : "SwiftJWT",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SwiftJWT",
      "targets" : [
        "SwiftJWT"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftJWTTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftJWTTests",
      "path" : "Tests/SwiftJWTTests",
      "sources" : [
        "TestJWT.swift"
      ],
      "target_dependencies" : [
        "SwiftJWT"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftJWT",
      "module_type" : "SwiftTarget",
      "name" : "SwiftJWT",
      "path" : "Sources/SwiftJWT",
      "product_dependencies" : [
        "LoggerAPI",
        "KituraContracts",
        "CryptorRSA",
        "Cryptor",
        "CryptorECC"
      ],
      "product_memberships" : [
        "SwiftJWT"
      ],
      "sources" : [
        "BlueECDSA.swift",
        "BlueHMAC.swift",
        "BlueRSA.swift",
        "Claims.swift",
        "ClaimsExamples/ClaimsMicroProfile.swift",
        "ClaimsExamples/ClaimsOpenID.swift",
        "ClaimsExamples/ClaimsStandardJWT.swift",
        "Data+Base64URLEncoded.swift",
        "Header.swift",
        "JWT.swift",
        "JWTDecoder.swift",
        "JWTEncoder.swift",
        "JWTError.swift",
        "JWTSigner.swift",
        "JWTVerifier.swift",
        "NoneAlgorithm.swift",
        "RSAKeyType.swift",
        "SignerAlgorithm.swift",
        "ValidateClaimsResult.swift",
        "VerifierAlgorithm.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Done.