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 Stringly, reference master (fc029f), with Swift 6.0 for macOS (SPM) on 28 Nov 2024 07:31:51 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.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.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/yonaskolb/Stringly.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/yonaskolb/Stringly
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at fc029f5 remove git files
Cloned https://github.com/yonaskolb/Stringly.git
Revision (git rev-parse @):
fc029f5358cbbbc4fbf20c006ca5ce30cb9021c9
SUCCESS checkout https://github.com/yonaskolb/Stringly.git at master
Fetching https://github.com/kylef/PathKit
Fetching https://github.com/yonaskolb/Codability
Fetching https://github.com/dduan/NetTime
Fetching https://github.com/jakeheis/SwiftCLI
Fetching https://github.com/onevcat/Rainbow
Fetching https://github.com/dduan/TOMLDeserializer
Fetching https://github.com/kylef/Spectre.git
[5/411] Fetching nettime
[71/537] Fetching nettime, codability
[439/1558] Fetching nettime, codability, spectre
[603/2969] Fetching nettime, codability, spectre, pathkit
[787/4095] Fetching nettime, codability, spectre, pathkit, rainbow
[945/4898] Fetching nettime, codability, spectre, pathkit, rainbow, tomldeserializer
[946/9972] Fetching nettime, codability, spectre, pathkit, rainbow, tomldeserializer, swiftcli
Fetched https://github.com/dduan/TOMLDeserializer from cache (0.91s)
[4622/9169] Fetching nettime, codability, spectre, pathkit, rainbow, swiftcli
Fetched https://github.com/kylef/PathKit from cache (0.91s)
[3312/7758] Fetching nettime, codability, spectre, rainbow, swiftcli
Fetched https://github.com/dduan/NetTime from cache (0.91s)
[3053/7347] Fetching codability, spectre, rainbow, swiftcli
Fetching https://github.com/jpsim/Yams
Fetched https://github.com/kylef/Spectre.git from cache (1.26s)
Fetched https://github.com/onevcat/Rainbow from cache (1.26s)
Fetched https://github.com/jakeheis/SwiftCLI from cache (1.26s)
Fetched https://github.com/yonaskolb/Codability from cache (1.26s)
[1/9936] Fetching yams
Fetched https://github.com/jpsim/Yams from cache (2.00s)
Computing version for https://github.com/yonaskolb/Codability
Computed https://github.com/yonaskolb/Codability at 0.2.1 (2.35s)
Computing version for https://github.com/dduan/TOMLDeserializer
Computed https://github.com/dduan/TOMLDeserializer at 0.2.4 (0.77s)
Computing version for https://github.com/jakeheis/SwiftCLI
Computed https://github.com/jakeheis/SwiftCLI at 6.0.3 (0.66s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 3.1.5 (0.55s)
Computing version for https://github.com/kylef/PathKit
Computed https://github.com/kylef/PathKit at 1.0.1 (2.24s)
Computing version for https://github.com/jpsim/Yams
Computed https://github.com/jpsim/Yams at 1.0.2 (0.57s)
Computing version for https://github.com/dduan/NetTime
Computed https://github.com/dduan/NetTime at 0.2.2 (0.56s)
Computing version for https://github.com/kylef/Spectre.git
Computed https://github.com/kylef/Spectre.git at 0.10.1 (0.59s)
Creating working copy for https://github.com/yonaskolb/Codability
Working copy of https://github.com/yonaskolb/Codability resolved at 0.2.1
Creating working copy for https://github.com/jpsim/Yams
Working copy of https://github.com/jpsim/Yams resolved at 1.0.2
Creating working copy for https://github.com/dduan/NetTime
Working copy of https://github.com/dduan/NetTime resolved at 0.2.2
Creating working copy for https://github.com/kylef/PathKit
Working copy of https://github.com/kylef/PathKit resolved at 1.0.1
Creating working copy for https://github.com/kylef/Spectre.git
Working copy of https://github.com/kylef/Spectre.git resolved at 0.10.1
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 3.1.5
Creating working copy for https://github.com/dduan/TOMLDeserializer
Working copy of https://github.com/dduan/TOMLDeserializer resolved at 0.2.4
Creating working copy for https://github.com/jakeheis/SwiftCLI
Working copy of https://github.com/jakeheis/SwiftCLI resolved at 6.0.3
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "stringly",
      "name": "Stringly",
      "url": "https://github.com/yonaskolb/Stringly.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Stringly",
      "dependencies": [
        {
          "identity": "yams",
          "name": "Yams",
          "url": "https://github.com/jpsim/Yams",
          "version": "1.0.2",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Yams",
          "dependencies": [
          ]
        },
        {
          "identity": "pathkit",
          "name": "PathKit",
          "url": "https://github.com/kylef/PathKit",
          "version": "1.0.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PathKit",
          "dependencies": [
            {
              "identity": "spectre",
              "name": "Spectre",
              "url": "https://github.com/kylef/Spectre.git",
              "version": "0.10.1",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Spectre",
              "dependencies": [
              ]
            }
          ]
        },
        {
          "identity": "rainbow",
          "name": "Rainbow",
          "url": "https://github.com/onevcat/Rainbow",
          "version": "3.2.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Rainbow",
          "dependencies": [
          ]
        },
        {
          "identity": "swiftcli",
          "name": "SwiftCLI",
          "url": "https://github.com/jakeheis/SwiftCLI",
          "version": "6.0.3",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftCLI",
          "dependencies": [
          ]
        },
        {
          "identity": "tomldeserializer",
          "name": "TOMLDeserializer",
          "url": "https://github.com/dduan/TOMLDeserializer",
          "version": "0.2.5",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/TOMLDeserializer",
          "dependencies": [
            {
              "identity": "nettime",
              "name": "NetTime",
              "url": "https://github.com/dduan/NetTime",
              "version": "0.2.3",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/NetTime",
              "dependencies": [
              ]
            }
          ]
        },
        {
          "identity": "codability",
          "name": "Codability",
          "url": "https://github.com/yonaskolb/Codability",
          "version": "0.2.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Codability",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/yonaskolb/Stringly.git
[1/375] Fetching stringly
Fetched https://github.com/yonaskolb/Stringly.git from cache (0.77s)
Fetching https://github.com/onevcat/Rainbow from cache
Fetching https://github.com/kylef/PathKit from cache
Fetching https://github.com/jakeheis/SwiftCLI from cache
Fetching https://github.com/dduan/TOMLDeserializer from cache
Fetching https://github.com/yonaskolb/Codability from cache
Fetching https://github.com/jpsim/Yams from cache
Fetched https://github.com/dduan/TOMLDeserializer from cache (0.51s)
Fetched https://github.com/kylef/PathKit from cache (0.52s)
Fetched https://github.com/onevcat/Rainbow from cache (0.52s)
Fetched https://github.com/yonaskolb/Codability from cache (0.61s)
Fetched https://github.com/jakeheis/SwiftCLI from cache (0.61s)
Fetched https://github.com/jpsim/Yams from cache (0.61s)
Computing version for https://github.com/yonaskolb/Codability
Computed https://github.com/yonaskolb/Codability at 0.2.1 (0.02s)
Computing version for https://github.com/jakeheis/SwiftCLI
Computed https://github.com/jakeheis/SwiftCLI at 6.0.3 (0.02s)
Computing version for https://github.com/kylef/PathKit
Computed https://github.com/kylef/PathKit at 1.0.1 (0.02s)
Fetching https://github.com/kylef/Spectre.git from cache
Fetched https://github.com/kylef/Spectre.git from cache (0.50s)
Computing version for https://github.com/dduan/TOMLDeserializer
Computed https://github.com/dduan/TOMLDeserializer at 0.2.5 (0.60s)
Fetching https://github.com/dduan/NetTime from cache
Fetched https://github.com/dduan/NetTime from cache (0.47s)
Computing version for https://github.com/dduan/NetTime
Computed https://github.com/dduan/NetTime at 0.2.3 (0.02s)
Computing version for https://github.com/kylef/Spectre.git
Computed https://github.com/kylef/Spectre.git at 0.10.1 (0.02s)
Computing version for https://github.com/jpsim/Yams
Computed https://github.com/jpsim/Yams at 1.0.2 (0.03s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 3.2.0 (0.02s)
Creating working copy for https://github.com/yonaskolb/Codability
Working copy of https://github.com/yonaskolb/Codability resolved at 0.2.1
Creating working copy for https://github.com/dduan/TOMLDeserializer
Working copy of https://github.com/dduan/TOMLDeserializer resolved at 0.2.5
Creating working copy for https://github.com/dduan/NetTime
Working copy of https://github.com/dduan/NetTime resolved at 0.2.3
Creating working copy for https://github.com/kylef/PathKit
Working copy of https://github.com/kylef/PathKit resolved at 1.0.1
Creating working copy for https://github.com/jpsim/Yams
Working copy of https://github.com/jpsim/Yams resolved at 1.0.2
Creating working copy for https://github.com/kylef/Spectre.git
Working copy of https://github.com/kylef/Spectre.git resolved at 0.10.1
Creating working copy for https://github.com/jakeheis/SwiftCLI
Working copy of https://github.com/jakeheis/SwiftCLI resolved at 6.0.3
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 3.2.0
Creating working copy for https://github.com/yonaskolb/Stringly.git
Working copy of https://github.com/yonaskolb/Stringly.git resolved at master (fc029f5)
Found 6 product dependencies
  - Yams
  - PathKit
  - Rainbow
  - SwiftCLI
  - TOMLDeserializer
  - Codability
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/yonaskolb/Stringly.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.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/21] Write sources
[5/21] Write stringly-entitlement.plist
[5/21] Write sources
[11/21] Write swift-version--7754E27361AE5C74.txt
[12/63] Compiling parser.c
[13/63] Compiling api.c
[14/63] Compiling emitter.c
[15/70] Compiling writer.c
[16/70] Compiling reader.c
[17/70] Compiling scanner.c
[19/86] Compiling NetTime constants.swift
[20/86] Compiling NetTime TimeOffset.swift
[21/86] Compiling NetTime LocalTime.swift
[22/86] Compiling NetTime LocalDateTime.swift
[23/86] Compiling NetTime LocalDate.swift
[24/86] Compiling NetTime DateTimeRepresentable.swift
[25/86] Compiling NetTime DateTime.swift
[26/86] Emitting module NetTime
[27/93] Compiling TOMLDeserializer constants.swift
[28/93] Compiling TOMLDeserializer Parser.swift
[29/93] Compiling Rainbow Style.swift
[30/94] Compiling Rainbow ModesExtractor.swift
[31/94] Compiling Yams Constructor.swift
[32/94] Compiling Yams Decoder.swift
[33/94] Compiling Rainbow Color.swift
[34/94] Compiling Rainbow ControlCode.swift
[35/94] Emitting module Rainbow
[36/94] Compiling Rainbow String+Rainbow.swift
[37/94] Compiling Rainbow StringGenerator.swift
[38/94] Compiling Yams Tag.swift
[39/94] Compiling Yams YamlError.swift
[40/95] Compiling Rainbow XcodeColorsSupport.swift
[41/95] Compiling Yams shim.swift
[42/95] Compiling Yams Representer.swift
[43/95] Compiling Yams Resolver.swift
[44/95] Compiling SwiftCLI OptionRegistry.swift
[45/95] Compiling SwiftCLI Parameter.swift
[46/97] Compiling TOMLDeserializer Location.swift
[47/97] Emitting module TOMLDeserializer
[48/97] Compiling TOMLDeserializer Errors.swift
[49/97] Compiling TOMLDeserializer Scanner.swift
[50/97] Compiling TOMLDeserializer TOMLDeserializer.swift
[51/97] Compiling SwiftCLI ValueBox.swift
[52/97] Compiling SwiftCLI VersionCommand.swift
[53/97] Compiling Rainbow OutputTarget.swift
[54/97] Compiling Rainbow Rainbow.swift
[55/97] Compiling Yams String+Yams.swift
[56/97] Compiling SwiftCLI Term.swift
[57/97] Compiling SwiftCLI Validation.swift
[58/97] Emitting module Codability
[59/97] Compiling Codability InvalidElementStrategy.swift
[60/97] Compiling Yams Node.swift
[61/97] Compiling Yams Parser.swift
[62/97] Emitting module SwiftCLI
[63/97] Compiling Codability RawCodingKey.swift
[64/97] Compiling Codability GenericDecodingContainer.swift
[65/97] Compiling Codability KeyedDecodingContainer+Any.swift
[66/97] Compiling Codability KeyedEncodingContainer+Any.swift
[67/97] Compiling Codability AnyCodable.swift
[68/97] Compiling Yams Mark.swift
[69/97] Compiling Yams Node.Mapping.swift
[72/97] Compiling Yams Node.Scalar.swift
[73/97] Compiling Yams Node.Sequence.swift
[74/97] Compiling Yams Emitter.swift
[75/97] Compiling Yams Encoder.swift
[78/97] Compiling PathKit PathKit.swift
[79/97] Emitting module PathKit
[90/104] Emitting module Yams
[91/104] Emitting module StringlyKit
[92/104] Compiling SwiftCLI Stream.swift
[93/104] Compiling SwiftCLI Task.swift
[94/104] Compiling SwiftCLI Parser.swift
[95/104] Compiling SwiftCLI Path.swift
[96/104] Compiling StringlyKit Generator.swift
[97/104] Compiling StringlyKit StringGroup.swift
[98/104] Compiling StringlyKit StringsGenerator.swift
[99/104] Compiling StringlyKit SwiftGenerator.swift
[100/104] Compiling StringlyKit StringsDictGenerator.swift
[101/104] Compiling StringlyKit StringLocalization.swift
/Users/admin/builder/spi-builder-workspace/Sources/StringlyKit/StringLocalization.swift:168:51: warning: trailing closure in this context is confusable with the body of the statement; pass as a parenthesized argument to silence this warning
166 |                     let stringPlaceholders = Self.parsePlaceholders(string)
167 |                     for placeholder in stringPlaceholders {
168 |                         if !placeholders.contains { $0.name == placeholder.name } {
    |                                                   `- warning: trailing closure in this context is confusable with the body of the statement; pass as a parenthesized argument to silence this warning
169 |                             placeholders.append(placeholder)
170 |                         }
[102/113] Compiling StringlyCLI Loader.swift
[103/113] Compiling StringlyCLI FileWriter.swift
/Users/admin/builder/spi-builder-workspace/Sources/StringlyCLI/FileWriter.swift:38:18: warning: reference to static property 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
36 |             }
37 |         } else {
38 |             Term.stdout.print(content)
   |                  `- warning: reference to static property 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
39 |         }
40 |     }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SwiftCLI/Sources/SwiftCLI/Term.swift:14:23: note: static property declared here
12 |     public static let isTTY = isatty(fileno(Foundation.stdout)) != 0
13 |
14 |     public static var stdout: WritableStream = WriteStream.stdout
   |                       `- note: static property declared here
15 |     public static var stderr: WritableStream = WriteStream.stderr
16 |     public static var stdin: ReadableStream = ReadStream.stdin
[104/113] Compiling StringlyCLI PlatformType.swift
[105/113] Compiling StringlyCLI GenerateError.swift
[106/113] Compiling StringlyCLI FileType.swift
[107/113] Compiling StringlyCLI GenerateFileCommand.swift
[108/113] Emitting module StringlyCLI
/Users/admin/builder/spi-builder-workspace/Sources/StringlyCLI/CLI.swift:33:1: warning: extension declares a conformance of imported type 'Path' to imported protocol 'ConvertibleFromString'; this will not behave correctly if the owners of 'PathKit' introduce this conformance in the future
31 | }
32 |
33 | extension Path: ConvertibleFromString {
   | |- warning: extension declares a conformance of imported type 'Path' to imported protocol 'ConvertibleFromString'; this will not behave correctly if the owners of 'PathKit' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
34 |     public init?(input: String) {
35 |         self.init(input)
[109/113] Compiling StringlyCLI GenerateCommand.swift
[110/113] Compiling StringlyCLI CLI.swift
/Users/admin/builder/spi-builder-workspace/Sources/StringlyCLI/CLI.swift:33:1: warning: extension declares a conformance of imported type 'Path' to imported protocol 'ConvertibleFromString'; this will not behave correctly if the owners of 'PathKit' introduce this conformance in the future
31 | }
32 |
33 | extension Path: ConvertibleFromString {
   | |- warning: extension declares a conformance of imported type 'Path' to imported protocol 'ConvertibleFromString'; this will not behave correctly if the owners of 'PathKit' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
34 |     public init?(input: String) {
35 |         self.init(input)
[111/115] Compiling Stringly main.swift
[112/115] Emitting module Stringly
[112/115] Write Objects.LinkFileList
[113/115] Linking stringly
[114/115] Applying stringly
Build complete! (44.66s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "yams",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/jpsim/Yams"
    },
    {
      "identity" : "pathkit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kylef/PathKit"
    },
    {
      "identity" : "rainbow",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.1.0",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/onevcat/Rainbow"
    },
    {
      "identity" : "swiftcli",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "6.0.3",
            "upper_bound" : "7.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/jakeheis/SwiftCLI"
    },
    {
      "identity" : "tomldeserializer",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.2.4",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/dduan/TOMLDeserializer"
    },
    {
      "identity" : "codability",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.2.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/yonaskolb/Codability"
    }
  ],
  "manifest_display_name" : "Stringly",
  "name" : "Stringly",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "stringly",
      "targets" : [
        "Stringly"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "StringlyKit",
      "targets" : [
        "StringlyKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "StringlyKitTests",
      "module_type" : "SwiftTarget",
      "name" : "StringlyKitTests",
      "path" : "Tests/StringlyKitTests",
      "product_dependencies" : [
        "PathKit"
      ],
      "sources" : [
        "StringlyKitTests.swift"
      ],
      "target_dependencies" : [
        "StringlyKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "StringlyKit",
      "module_type" : "SwiftTarget",
      "name" : "StringlyKit",
      "path" : "Sources/StringlyKit",
      "product_dependencies" : [
        "Codability"
      ],
      "product_memberships" : [
        "stringly",
        "StringlyKit"
      ],
      "sources" : [
        "Generator.swift",
        "Generators/StringsDictGenerator.swift",
        "Generators/StringsGenerator.swift",
        "Generators/SwiftGenerator.swift",
        "StringGroup.swift",
        "StringLocalization.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "StringlyCLITests",
      "module_type" : "SwiftTarget",
      "name" : "StringlyCLITests",
      "path" : "Tests/StringlyCLITests",
      "product_dependencies" : [
        "PathKit"
      ],
      "sources" : [
        "StringDiff.swift",
        "StringlyCLITests.swift",
        "TestHelpers.swift"
      ],
      "target_dependencies" : [
        "StringlyCLI"
      ],
      "type" : "test"
    },
    {
      "c99name" : "StringlyCLI",
      "module_type" : "SwiftTarget",
      "name" : "StringlyCLI",
      "path" : "Sources/StringlyCLI",
      "product_dependencies" : [
        "Yams",
        "Rainbow",
        "SwiftCLI",
        "PathKit",
        "TOMLDeserializer"
      ],
      "product_memberships" : [
        "stringly"
      ],
      "sources" : [
        "CLI.swift",
        "Commands/GenerateCommand.swift",
        "Commands/GenerateFileCommand.swift",
        "FileType.swift",
        "FileWriter.swift",
        "GenerateError.swift",
        "Loader.swift",
        "PlatformType.swift"
      ],
      "target_dependencies" : [
        "StringlyKit"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Stringly",
      "module_type" : "SwiftTarget",
      "name" : "Stringly",
      "path" : "Sources/Stringly",
      "product_memberships" : [
        "stringly"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "StringlyCLI"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.1"
}
Done.