This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 SshConfig with Swift 6.0 for Linux.

Swift 6 data race errors: 3

Build Command

bash -c docker run --rm -v "checkouts-4609320-0":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/xxlabaza/SshConfig.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/xxlabaza/SshConfig
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at d16cea0 update readme
Cloned https://github.com/xxlabaza/SshConfig.git
Revision (git rev-parse @):
d16cea0b256d8e76c2116a3ca8d691ddc78c44d2
SUCCESS checkout https://github.com/xxlabaza/SshConfig.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $workDir
https://github.com/xxlabaza/SshConfig.git
Running build ...
bash -c docker run --rm -v "checkouts-4609320-0":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/23] Emitting module SshConfig
/host/spi-builder-workspace/Sources/SshConfig/Properties.swift:41:23: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
  23 |   and their types, but you can find it in any SSH manual.
  24 |   */
  25 |   struct Properties: Equatable, Codable {
     |          `- note: consider making struct 'Properties' conform to the 'Sendable' protocol
  26 |
  27 |     /**
     :
  39 |     ```
  40 |     */
  41 |     public static let defaults = Properties(
     |                       |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'defaults' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  42 |       addKeysToAgent: .no,
  43 |       addressFamily: .any,
/host/spi-builder-workspace/Sources/SshConfig/parser/Tokenizer.swift:35:22: warning: static property 'SKIP_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
 33 | struct TokensIterator: IteratorProtocol {
 34 |
 35 |   private static let SKIP_CHARS: CharacterSet = {
    |                      `- warning: static property 'SKIP_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     var result = CharacterSet()
 37 |     result.formUnion(.whitespacesAndNewlines)
Foundation.CharacterSet:1:15: note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 1 | public struct CharacterSet : ReferenceConvertible, Equatable, Hashable, SetAlgebra {
   |               `- note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 2 |     public typealias ReferenceType = NSCharacterSet
 3 |     public init()
/host/spi-builder-workspace/Sources/SshConfig/parser/Tokenizer.swift:15:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 13 | //===----------------------------------------------------------------------===//
 14 |
 15 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 16 |
 17 | struct Tokens: Sequence {
    :
 33 | struct TokensIterator: IteratorProtocol {
 34 |
 35 |   private static let SKIP_CHARS: CharacterSet = {
    |                      |- note: annotate 'SKIP_CHARS' with '@MainActor' if property should only be accessed from the main actor
    |                      `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |     var result = CharacterSet()
 37 |     result.formUnion(.whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/SshConfig/parser/Tokenizer.swift:42:22: warning: static property 'KEY_VALUE_DELIMITER_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |   }()
 41 |
 42 |   private static let KEY_VALUE_DELIMITER_CHARS: CharacterSet = {
    |                      |- warning: static property 'KEY_VALUE_DELIMITER_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
    |                      |- note: annotate 'KEY_VALUE_DELIMITER_CHARS' with '@MainActor' if property should only be accessed from the main actor
    |                      `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |     var result = CharacterSet()
 44 |     result.formUnion(.whitespaces)
Foundation.CharacterSet:1:15: note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 1 | public struct CharacterSet : ReferenceConvertible, Equatable, Hashable, SetAlgebra {
   |               `- note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 2 |     public typealias ReferenceType = NSCharacterSet
 3 |     public init()
[4/25] Compiling SshConfig StringProtocol+toTokens.swift
[5/25] Compiling SshConfig StringProtocol+unquoted.swift
[6/25] Compiling SshConfig Config.swift
/host/spi-builder-workspace/Sources/SshConfig/Properties.swift:41:23: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
  23 |   and their types, but you can find it in any SSH manual.
  24 |   */
  25 |   struct Properties: Equatable, Codable {
     |          `- note: consider making struct 'Properties' conform to the 'Sendable' protocol
  26 |
  27 |     /**
     :
  39 |     ```
  40 |     */
  41 |     public static let defaults = Properties(
     |                       |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'defaults' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  42 |       addKeysToAgent: .no,
  43 |       addressFamily: .any,
[7/25] Compiling SshConfig Errors.swift
/host/spi-builder-workspace/Sources/SshConfig/Properties.swift:41:23: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
  23 |   and their types, but you can find it in any SSH manual.
  24 |   */
  25 |   struct Properties: Equatable, Codable {
     |          `- note: consider making struct 'Properties' conform to the 'Sendable' protocol
  26 |
  27 |     /**
     :
  39 |     ```
  40 |     */
  41 |     public static let defaults = Properties(
     |                       |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'defaults' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  42 |       addKeysToAgent: .no,
  43 |       addressFamily: .any,
[8/25] Compiling SshConfig Host.swift
/host/spi-builder-workspace/Sources/SshConfig/Properties.swift:41:23: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
  23 |   and their types, but you can find it in any SSH manual.
  24 |   */
  25 |   struct Properties: Equatable, Codable {
     |          `- note: consider making struct 'Properties' conform to the 'Sendable' protocol
  26 |
  27 |     /**
     :
  39 |     ```
  40 |     */
  41 |     public static let defaults = Properties(
     |                       |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'defaults' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  42 |       addKeysToAgent: .no,
  43 |       addressFamily: .any,
[9/25] Compiling SshConfig ssh.swift
[10/25] Compiling SshConfig CharacterSet+contains.swift
[11/25] Compiling SshConfig Equatable+Error.swift
[12/25] Compiling SshConfig Properties.swift
/host/spi-builder-workspace/Sources/SshConfig/Properties.swift:41:23: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
  23 |   and their types, but you can find it in any SSH manual.
  24 |   */
  25 |   struct Properties: Equatable, Codable {
     |          `- note: consider making struct 'Properties' conform to the 'Sendable' protocol
  26 |
  27 |     /**
     :
  39 |     ```
  40 |     */
  41 |     public static let defaults = Properties(
     |                       |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'defaults' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  42 |       addKeysToAgent: .no,
  43 |       addressFamily: .any,
[13/25] Compiling SshConfig ConfigDecoder.swift
/host/spi-builder-workspace/Sources/SshConfig/Properties.swift:41:23: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
  23 |   and their types, but you can find it in any SSH manual.
  24 |   */
  25 |   struct Properties: Equatable, Codable {
     |          `- note: consider making struct 'Properties' conform to the 'Sendable' protocol
  26 |
  27 |     /**
     :
  39 |     ```
  40 |     */
  41 |     public static let defaults = Properties(
     |                       |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'defaults' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  42 |       addKeysToAgent: .no,
  43 |       addressFamily: .any,
[14/25] Compiling SshConfig ConfigDecodingContainer.swift
/host/spi-builder-workspace/Sources/SshConfig/Properties.swift:41:23: warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
  23 |   and their types, but you can find it in any SSH manual.
  24 |   */
  25 |   struct Properties: Equatable, Codable {
     |          `- note: consider making struct 'Properties' conform to the 'Sendable' protocol
  26 |
  27 |     /**
     :
  39 |     ```
  40 |     */
  41 |     public static let defaults = Properties(
     |                       |- warning: static property 'defaults' is not concurrency-safe because non-'Sendable' type 'ssh.Properties' may have shared mutable state; this is an error in the Swift 6 language mode
     |                       |- note: annotate 'defaults' with '@MainActor' if property should only be accessed from the main actor
     |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  42 |       addKeysToAgent: .no,
  43 |       addressFamily: .any,
[15/25] Compiling SshConfig StringProtocol+firstCapitalized.swift
[16/25] Compiling SshConfig StringProtocol+isBlank.swift
[17/25] Compiling SshConfig ConfigEncoder.swift
/host/spi-builder-workspace/Sources/SshConfig/parser/Tokenizer.swift:35:22: warning: static property 'SKIP_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
 33 | struct TokensIterator: IteratorProtocol {
 34 |
 35 |   private static let SKIP_CHARS: CharacterSet = {
    |                      `- warning: static property 'SKIP_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     var result = CharacterSet()
 37 |     result.formUnion(.whitespacesAndNewlines)
Foundation.CharacterSet:1:15: note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 1 | public struct CharacterSet : ReferenceConvertible, Equatable, Hashable, SetAlgebra {
   |               `- note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 2 |     public typealias ReferenceType = NSCharacterSet
 3 |     public init()
/host/spi-builder-workspace/Sources/SshConfig/parser/Tokenizer.swift:15:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 13 | //===----------------------------------------------------------------------===//
 14 |
 15 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 16 |
 17 | struct Tokens: Sequence {
    :
 33 | struct TokensIterator: IteratorProtocol {
 34 |
 35 |   private static let SKIP_CHARS: CharacterSet = {
    |                      |- note: annotate 'SKIP_CHARS' with '@MainActor' if property should only be accessed from the main actor
    |                      `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |     var result = CharacterSet()
 37 |     result.formUnion(.whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/SshConfig/parser/Tokenizer.swift:42:22: warning: static property 'KEY_VALUE_DELIMITER_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |   }()
 41 |
 42 |   private static let KEY_VALUE_DELIMITER_CHARS: CharacterSet = {
    |                      |- warning: static property 'KEY_VALUE_DELIMITER_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
    |                      |- note: annotate 'KEY_VALUE_DELIMITER_CHARS' with '@MainActor' if property should only be accessed from the main actor
    |                      `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |     var result = CharacterSet()
 44 |     result.formUnion(.whitespaces)
Foundation.CharacterSet:1:15: note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 1 | public struct CharacterSet : ReferenceConvertible, Equatable, Hashable, SetAlgebra {
   |               `- note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 2 |     public typealias ReferenceType = NSCharacterSet
 3 |     public init()
[18/25] Compiling SshConfig ConfigParser.swift
/host/spi-builder-workspace/Sources/SshConfig/parser/Tokenizer.swift:35:22: warning: static property 'SKIP_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
 33 | struct TokensIterator: IteratorProtocol {
 34 |
 35 |   private static let SKIP_CHARS: CharacterSet = {
    |                      `- warning: static property 'SKIP_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     var result = CharacterSet()
 37 |     result.formUnion(.whitespacesAndNewlines)
Foundation.CharacterSet:1:15: note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 1 | public struct CharacterSet : ReferenceConvertible, Equatable, Hashable, SetAlgebra {
   |               `- note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 2 |     public typealias ReferenceType = NSCharacterSet
 3 |     public init()
/host/spi-builder-workspace/Sources/SshConfig/parser/Tokenizer.swift:15:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 13 | //===----------------------------------------------------------------------===//
 14 |
 15 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 16 |
 17 | struct Tokens: Sequence {
    :
 33 | struct TokensIterator: IteratorProtocol {
 34 |
 35 |   private static let SKIP_CHARS: CharacterSet = {
    |                      |- note: annotate 'SKIP_CHARS' with '@MainActor' if property should only be accessed from the main actor
    |                      `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |     var result = CharacterSet()
 37 |     result.formUnion(.whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/SshConfig/parser/Tokenizer.swift:42:22: warning: static property 'KEY_VALUE_DELIMITER_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |   }()
 41 |
 42 |   private static let KEY_VALUE_DELIMITER_CHARS: CharacterSet = {
    |                      |- warning: static property 'KEY_VALUE_DELIMITER_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
    |                      |- note: annotate 'KEY_VALUE_DELIMITER_CHARS' with '@MainActor' if property should only be accessed from the main actor
    |                      `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |     var result = CharacterSet()
 44 |     result.formUnion(.whitespaces)
Foundation.CharacterSet:1:15: note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 1 | public struct CharacterSet : ReferenceConvertible, Equatable, Hashable, SetAlgebra {
   |               `- note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 2 |     public typealias ReferenceType = NSCharacterSet
 3 |     public init()
[19/25] Compiling SshConfig Tokenizer.swift
/host/spi-builder-workspace/Sources/SshConfig/parser/Tokenizer.swift:35:22: warning: static property 'SKIP_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
 33 | struct TokensIterator: IteratorProtocol {
 34 |
 35 |   private static let SKIP_CHARS: CharacterSet = {
    |                      `- warning: static property 'SKIP_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
 36 |     var result = CharacterSet()
 37 |     result.formUnion(.whitespacesAndNewlines)
Foundation.CharacterSet:1:15: note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 1 | public struct CharacterSet : ReferenceConvertible, Equatable, Hashable, SetAlgebra {
   |               `- note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 2 |     public typealias ReferenceType = NSCharacterSet
 3 |     public init()
/host/spi-builder-workspace/Sources/SshConfig/parser/Tokenizer.swift:15:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 13 | //===----------------------------------------------------------------------===//
 14 |
 15 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 16 |
 17 | struct Tokens: Sequence {
    :
 33 | struct TokensIterator: IteratorProtocol {
 34 |
 35 |   private static let SKIP_CHARS: CharacterSet = {
    |                      |- note: annotate 'SKIP_CHARS' with '@MainActor' if property should only be accessed from the main actor
    |                      `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |     var result = CharacterSet()
 37 |     result.formUnion(.whitespacesAndNewlines)
/host/spi-builder-workspace/Sources/SshConfig/parser/Tokenizer.swift:42:22: warning: static property 'KEY_VALUE_DELIMITER_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |   }()
 41 |
 42 |   private static let KEY_VALUE_DELIMITER_CHARS: CharacterSet = {
    |                      |- warning: static property 'KEY_VALUE_DELIMITER_CHARS' is not concurrency-safe because non-'Sendable' type 'CharacterSet' may have shared mutable state; this is an error in the Swift 6 language mode
    |                      |- note: annotate 'KEY_VALUE_DELIMITER_CHARS' with '@MainActor' if property should only be accessed from the main actor
    |                      `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |     var result = CharacterSet()
 44 |     result.formUnion(.whitespaces)
Foundation.CharacterSet:1:15: note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 1 | public struct CharacterSet : ReferenceConvertible, Equatable, Hashable, SetAlgebra {
   |               `- note: struct 'CharacterSet' does not conform to the 'Sendable' protocol
 2 |     public typealias ReferenceType = NSCharacterSet
 3 |     public init()
[20/25] Compiling SshConfig NoneAsNil.swift
[21/25] Compiling SshConfig Pattern.swift
[22/25] Compiling SshConfig StringProtocol+Hex.swift
[23/25] Compiling SshConfig ConfigSingleValueDecodingContainer.swift
[24/25] Compiling SshConfig ConfigUnkeyedDecodingContainer.swift
[25/25] Compiling SshConfig DecodingContext.swift
Build complete! (13.40s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SshConfig",
  "name" : "SshConfig",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "SshConfig",
      "targets" : [
        "SshConfig"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SshConfigTests",
      "module_type" : "SwiftTarget",
      "name" : "SshConfigTests",
      "path" : "Tests/SshConfigTests",
      "sources" : [
        "ConfigDecoderTests.swift",
        "ConfigEncoderTests.swift",
        "ConfigParserTests.swift",
        "ConfigResolveTests.swift",
        "ConfigTests.swift",
        "HostTests.swift",
        "PatternTests.swift",
        "TokenizerTests.swift",
        "UsageExample.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "SshConfig"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SshConfig",
      "module_type" : "SwiftTarget",
      "name" : "SshConfig",
      "path" : "Sources/SshConfig",
      "product_memberships" : [
        "SshConfig"
      ],
      "sources" : [
        "Config.swift",
        "Errors.swift",
        "Host.swift",
        "Properties.swift",
        "decoder/ConfigDecoder.swift",
        "decoder/ConfigDecodingContainer.swift",
        "decoder/ConfigSingleValueDecodingContainer.swift",
        "decoder/ConfigUnkeyedDecodingContainer.swift",
        "decoder/DecodingContext.swift",
        "encoder/ConfigEncoder.swift",
        "parser/ConfigParser.swift",
        "parser/Tokenizer.swift",
        "ssh.swift",
        "utils/CharacterSet+contains.swift",
        "utils/Equatable+Error.swift",
        "utils/NoneAsNil.swift",
        "utils/Pattern.swift",
        "utils/StringProtocol+Hex.swift",
        "utils/StringProtocol+firstCapitalized.swift",
        "utils/StringProtocol+isBlank.swift",
        "utils/StringProtocol+toTokens.swift",
        "utils/StringProtocol+unquoted.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.