Build Information
Successful build of KippleTools with Swift 6.0 for Linux.
Swift 6 data race errors: 8
Build Command
bash -c docker run --rm -v "checkouts-4609320-1":/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/bdrelling/KippleTools.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/bdrelling/KippleTools
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at d250ed2 Disabled the redundantBackticks rule
Cloned https://github.com/bdrelling/KippleTools.git
Revision (git rev-parse @):
d250ed2d2751c5d0b6c32db7819b35ccd3de269a
SPI manifest file found: $workDir/.spi.yml
SUCCESS checkout https://github.com/bdrelling/KippleTools.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $workDir
https://github.com/bdrelling/KippleTools.git
Running build ...
bash -c docker run --rm -v "checkouts-4609320-1":/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
Fetching https://github.com/nicklockwood/SwiftFormat
Fetching https://github.com/apple/swift-argument-parser
[1/11679] Fetching swift-argument-parser
[9345/50104] Fetching swift-argument-parser, swiftformat
Fetched https://github.com/apple/swift-argument-parser from cache (0.77s)
[3074/38425] Fetching swiftformat
Fetched https://github.com/nicklockwood/SwiftFormat from cache (21.42s)
Computing version for https://github.com/nicklockwood/SwiftFormat
Computed https://github.com/nicklockwood/SwiftFormat at 0.53.10 (4.23s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.4.0 (0.56s)
Creating working copy for https://github.com/nicklockwood/SwiftFormat
Working copy of https://github.com/nicklockwood/SwiftFormat resolved at 0.53.10
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.4.0
warning: 'swiftformat': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/.build/checkouts/SwiftFormat/Sources/Info.plist
[1/1] Compiling plugin GenerateManual
[2/2] Compiling plugin SwiftFormatPlugin
Building for debugging...
[2/22] Write sources
[3/22] Copying pre-commit
[4/22] Write sources
[5/22] Copying default.gitignore
[6/22] Copying app.gitignore
[7/22] Copying default.swiftformat
[8/22] Write sources
[11/22] Copying default.swiftlint.yml
[13/22] Write swift-version-24593BA9C3E375BF.txt
[15/41] Emitting module ArgumentParserToolInfo
[16/41] Compiling ArgumentParserToolInfo ToolInfo.swift
[17/42] Wrapping AST for ArgumentParserToolInfo for debugging
[19/79] Compiling ArgumentParser ArgumentVisibility.swift
[20/79] Compiling ArgumentParser CompletionKind.swift
[21/79] Compiling ArgumentParser Errors.swift
[22/79] Compiling ArgumentParser Flag.swift
[23/79] Compiling ArgumentParser NameSpecification.swift
[24/84] Emitting module ArgumentParser
[27/86] Compiling ArgumentParser BashCompletionsGenerator.swift
[28/86] Compiling ArgumentParser CompletionsGenerator.swift
[29/86] Compiling ArgumentParser FishCompletionsGenerator.swift
[30/86] Compiling ArgumentParser ZshCompletionsGenerator.swift
[31/86] Compiling ArgumentParser Argument.swift
[32/86] Compiling ArgumentParser ArgumentHelp.swift
[33/86] Compiling ArgumentParser CollectionExtensions.swift
[34/86] Compiling ArgumentParser Platform.swift
[35/86] Compiling ArgumentParser SequenceExtensions.swift
[36/86] Compiling ArgumentParser StringExtensions.swift
[37/86] Compiling ArgumentParser Tree.swift
[38/86] Compiling ArgumentParser Name.swift
[39/86] Compiling ArgumentParser Parsed.swift
[40/86] Compiling ArgumentParser ParsedValues.swift
[41/86] Compiling ArgumentParser ParserError.swift
[42/86] Compiling ArgumentParser SplitArguments.swift
[43/86] Compiling ArgumentParser DumpHelpGenerator.swift
[44/86] Compiling ArgumentParser HelpCommand.swift
[45/86] Compiling ArgumentParser HelpGenerator.swift
[46/86] Compiling ArgumentParser MessageInfo.swift
[47/86] Compiling ArgumentParser UsageGenerator.swift
[48/86] Compiling ArgumentParser Option.swift
[49/86] Compiling ArgumentParser OptionGroup.swift
[50/86] Compiling ArgumentParser AsyncParsableCommand.swift
[51/86] Compiling ArgumentParser CommandConfiguration.swift
[52/86] Compiling ArgumentParser EnumerableFlag.swift
[53/86] Compiling ArgumentParser ExpressibleByArgument.swift
[54/86] Compiling ArgumentParser ParsableArguments.swift
[55/86] Compiling ArgumentParser ParsableArgumentsValidation.swift
[56/86] Compiling ArgumentParser ParsableCommand.swift
[57/86] Compiling ArgumentParser ArgumentDecoder.swift
[58/86] Compiling SwiftFormat SwiftFormat.swift
[59/86] Compiling SwiftFormat Tokenizer.swift
[60/86] Compiling ArgumentParser CommandParser.swift
[61/86] Compiling ArgumentParser InputKey.swift
[62/86] Compiling ArgumentParser InputOrigin.swift
[63/87] Wrapping AST for ArgumentParser for debugging
[65/96] Compiling KippleToolsCore Shell.swift
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:66:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
64 |
65 | public extension Shell {
66 | static let `default`: Self = .sh
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' 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
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:68:16: warning: static property 'sh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
66 | static let `default`: Self = .sh
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
| |- warning: static property 'sh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sh' 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
69 | static let bash: Self = .init(executablePath: "/bin/bash")
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
| |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'bash' 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
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:70:16: warning: static property 'zsh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
| |- warning: static property 'zsh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zsh' 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
71 | }
72 |
[66/97] Compiling KippleToolsCore ShellCommand.swift
[67/97] Compiling KippleToolsCore ShellError.swift
[68/97] Compiling KippleToolsCore ShellCommand+SwiftPackageManager.swift
[69/97] Compiling KippleToolsCore ShellCommand+FileSystem.swift
[70/97] Compiling KippleToolsCore ShellCommand+Git.swift
[71/97] Compiling KippleToolsCore VerboseLogging.swift
[72/97] Compiling KippleToolsCore Data+ShellOutput.swift
[73/97] Compiling KippleToolsCore Process+Convenience.swift
[74/97] Emitting module KippleToolsCore
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:66:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
64 |
65 | public extension Shell {
66 | static let `default`: Self = .sh
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' 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
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:68:16: warning: static property 'sh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
66 | static let `default`: Self = .sh
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
| |- warning: static property 'sh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sh' 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
69 | static let bash: Self = .init(executablePath: "/bin/bash")
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
| |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'bash' 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
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:70:16: warning: static property 'zsh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
| |- warning: static property 'zsh' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zsh' 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
71 | }
72 |
[75/98] Wrapping AST for KippleToolsCore for debugging
[84/98] Emitting module SwiftFormat
[94/99] Wrapping AST for SwiftFormat for debugging
[96/113] Compiling KippleFramework SwiftVersion.swift
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import KippleToolsCore
4 |
5 | final class SwiftBuilder {
| `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
6 | // MARK: Shared Instance
7 |
8 | static let shared = SwiftBuilder()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
9 |
10 | // MARK: Properties
[97/113] Compiling KippleFramework BuildCommand.swift
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import KippleToolsCore
4 |
5 | final class SwiftBuilder {
| `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
6 | // MARK: Shared Instance
7 |
8 | static let shared = SwiftBuilder()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
9 |
10 | // MARK: Properties
[98/114] Compiling KippleFramework MainCommand.swift
[99/114] Compiling KippleFramework Platform.swift
[100/114] Emitting module KippleFramework
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:66:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
64 |
65 | public extension Shell {
66 | static let `default`: Self = .sh
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' 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
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/FileFormatter.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
4 | import KippleToolsCore
5 |
6 | final class FileFormatter {
| `- note: class 'FileFormatter' does not conform to the 'Sendable' protocol
7 | // MARK: Shared Instance
8 |
9 | static let shared = FileFormatter()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
10 |
11 | // MARK: Constants
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import KippleToolsCore
4 |
5 | final class SwiftBuilder {
| `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
6 | // MARK: Shared Instance
7 |
8 | static let shared = SwiftBuilder()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
9 |
10 | // MARK: Properties
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
| |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'bash' 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
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftFormat.swift:56:1: warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
54 | }
55 |
56 | extension FileHandle: TextOutputStream {
| |- warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
57 | public func write(_ string: String) {
58 | self.write(Data(string.utf8))
[101/114] Compiling KippleFramework SwiftBuilder.swift
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import KippleToolsCore
4 |
5 | final class SwiftBuilder {
| `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
6 | // MARK: Shared Instance
7 |
8 | static let shared = SwiftBuilder()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
9 |
10 | // MARK: Properties
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
| |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'bash' 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
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftFormat.swift:56:1: warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
54 | }
55 |
56 | extension FileHandle: TextOutputStream {
| |- warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
57 | public func write(_ string: String) {
58 | self.write(Data(string.utf8))
/host/spi-builder-workspace/.build/checkouts/SwiftFormat/Sources/CommandLine.swift:49:16: warning: static property 'print' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | /// Output handler - override this to intercept output from the CLI
49 | static var print: (String, OutputType) -> Void = { _, _ in
| |- warning: static property 'print' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'print' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'print' 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
50 | fatalError("No print hook set.")
51 | }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftFormat.swift:13:13: warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | init() {
13 | CLI.print = self.print
| `- warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
14 | }
15 |
/host/spi-builder-workspace/.build/checkouts/SwiftFormat/Sources/CommandLine.swift:49:16: note: static property declared here
47 |
48 | /// Output handler - override this to intercept output from the CLI
49 | static var print: (String, OutputType) -> Void = { _, _ in
| `- note: static property declared here
50 | fatalError("No print hook set.")
51 | }
[102/114] Compiling KippleFramework SwiftFormat.swift
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import KippleToolsCore
4 |
5 | final class SwiftBuilder {
| `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
6 | // MARK: Shared Instance
7 |
8 | static let shared = SwiftBuilder()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
9 |
10 | // MARK: Properties
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
| |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'bash' 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
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftFormat.swift:56:1: warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
54 | }
55 |
56 | extension FileHandle: TextOutputStream {
| |- warning: extension declares a conformance of imported type 'FileHandle' to imported protocol 'TextOutputStream'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
57 | public func write(_ string: String) {
58 | self.write(Data(string.utf8))
/host/spi-builder-workspace/.build/checkouts/SwiftFormat/Sources/CommandLine.swift:49:16: warning: static property 'print' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | /// Output handler - override this to intercept output from the CLI
49 | static var print: (String, OutputType) -> Void = { _, _ in
| |- warning: static property 'print' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'print' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'print' 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
50 | fatalError("No print hook set.")
51 | }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftFormat.swift:13:13: warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
11 |
12 | init() {
13 | CLI.print = self.print
| `- warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
14 | }
15 |
/host/spi-builder-workspace/.build/checkouts/SwiftFormat/Sources/CommandLine.swift:49:16: note: static property declared here
47 |
48 | /// Output handler - override this to intercept output from the CLI
49 | static var print: (String, OutputType) -> Void = { _, _ in
| `- note: static property declared here
50 | fatalError("No print hook set.")
51 | }
[103/114] Compiling KippleFramework BuildEnvironment.swift
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:66:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
64 |
65 | public extension Shell {
66 | static let `default`: Self = .sh
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' 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
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/FileFormatter.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
4 | import KippleToolsCore
5 |
6 | final class FileFormatter {
| `- note: class 'FileFormatter' does not conform to the 'Sendable' protocol
7 | // MARK: Shared Instance
8 |
9 | static let shared = FileFormatter()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
10 |
11 | // MARK: Constants
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
| |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'bash' 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
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
[104/114] Compiling KippleFramework FileFormatter.swift
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:66:16: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
64 |
65 | public extension Shell {
66 | static let `default`: Self = .sh
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' 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
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/FileFormatter.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
4 | import KippleToolsCore
5 |
6 | final class FileFormatter {
| `- note: class 'FileFormatter' does not conform to the 'Sendable' protocol
7 | // MARK: Shared Instance
8 |
9 | static let shared = FileFormatter()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
10 |
11 | // MARK: Constants
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
| |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'bash' 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
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
[105/114] Compiling KippleFramework resource_bundle_accessor.swift
[106/114] Compiling KippleFramework SetupCommand.swift
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
| |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'bash' 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
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import KippleToolsCore
4 |
5 | final class SwiftBuilder {
| `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
6 | // MARK: Shared Instance
7 |
8 | static let shared = SwiftBuilder()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
9 |
10 | // MARK: Properties
[107/114] Compiling KippleFramework TestCommand.swift
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
| |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'bash' 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
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/SwiftBuilder.swift:8:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import KippleToolsCore
4 |
5 | final class SwiftBuilder {
| `- note: class 'SwiftBuilder' does not conform to the 'Sendable' protocol
6 | // MARK: Shared Instance
7 |
8 | static let shared = SwiftBuilder()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SwiftBuilder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
9 |
10 | // MARK: Properties
[108/114] Compiling KippleFramework UninstallCommand.swift
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
| |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'bash' 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
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
[109/114] Compiling KippleFramework FormatCommand.swift
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/FileFormatter.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
4 | import KippleToolsCore
5 |
6 | final class FileFormatter {
| `- note: class 'FileFormatter' does not conform to the 'Sendable' protocol
7 | // MARK: Shared Instance
8 |
9 | static let shared = FileFormatter()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
10 |
11 | // MARK: Constants
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
| |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'bash' 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
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
[110/114] Compiling KippleFramework InstallCommand.swift
/host/spi-builder-workspace/Sources/KippleFramework/Core/Helpers/FileFormatter.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
4 | import KippleToolsCore
5 |
6 | final class FileFormatter {
| `- note: class 'FileFormatter' does not conform to the 'Sendable' protocol
7 | // MARK: Shared Instance
8 |
9 | static let shared = FileFormatter()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'FileFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' 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
10 |
11 | // MARK: Constants
/host/spi-builder-workspace/Sources/KippleToolsCore/Helpers/Shell.swift:69:16: warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
3 | import Foundation
4 |
5 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
6 | private let executablePath: String
7 | private let outputPipe: Pipe
:
67 |
68 | static let sh: Self = .init(executablePath: "/bin/sh")
69 | static let bash: Self = .init(executablePath: "/bin/bash")
| |- warning: static property 'bash' is not concurrency-safe because non-'Sendable' type 'Shell' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'bash' 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
70 | static let zsh: Self = .init(executablePath: "/bin/zsh")
71 | }
[111/115] Wrapping AST for KippleFramework for debugging
[113/117] Compiling kipple main.swift
[114/117] Emitting module kipple
[115/118] Wrapping AST for kipple for debugging
[116/118] Write Objects.LinkFileList
[117/118] Linking kipple
Build complete! (75.10s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser"
},
{
"identity" : "swiftformat",
"requirement" : {
"range" : [
{
"lower_bound" : "0.53.10",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/nicklockwood/SwiftFormat"
}
],
"manifest_display_name" : "KippleTools",
"name" : "KippleTools",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "kipple",
"targets" : [
"kipple"
],
"type" : {
"executable" : null
}
},
{
"name" : "KippleToolsCore",
"targets" : [
"KippleToolsCore"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "kipple",
"module_type" : "SwiftTarget",
"name" : "kipple",
"path" : "Sources/kipple",
"product_memberships" : [
"kipple"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"KippleFramework"
],
"type" : "executable"
},
{
"c99name" : "KippleToolsCoreTests",
"module_type" : "SwiftTarget",
"name" : "KippleToolsCoreTests",
"path" : "Tests/KippleToolsCoreTests",
"sources" : [
"ShellCommandTests.swift",
"ShellTests.swift"
],
"target_dependencies" : [
"KippleToolsCore"
],
"type" : "test"
},
{
"c99name" : "KippleToolsCore",
"module_type" : "SwiftTarget",
"name" : "KippleToolsCore",
"path" : "Sources/KippleToolsCore",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"kipple",
"KippleToolsCore"
],
"sources" : [
"Extensions/Data+ShellOutput.swift",
"Extensions/Process+Convenience.swift",
"Extensions/ShellCommand+FileSystem.swift",
"Extensions/ShellCommand+Git.swift",
"Extensions/ShellCommand+SwiftPackageManager.swift",
"Helpers/Shell.swift",
"Models/ShellCommand.swift",
"Models/ShellError.swift",
"Protocols/VerboseLogging.swift"
],
"type" : "library"
},
{
"c99name" : "KippleFrameworkTests",
"module_type" : "SwiftTarget",
"name" : "KippleFrameworkTests",
"path" : "Tests/KippleFrameworkTests",
"sources" : [
"PrintCommandTests.swift",
"ResourceTests.swift"
],
"target_dependencies" : [
"KippleFramework"
],
"type" : "test"
},
{
"c99name" : "KippleFramework",
"module_type" : "SwiftTarget",
"name" : "KippleFramework",
"path" : "Sources/KippleFramework",
"product_dependencies" : [
"SwiftFormat"
],
"product_memberships" : [
"kipple"
],
"resources" : [
{
"path" : "/host/spi-builder-workspace/Sources/KippleFramework/Resources/gitignore/default.gitignore",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/KippleFramework/Resources/gitignore/app.gitignore",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/KippleFramework/Resources/git-hooks/pre-commit",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/KippleFramework/Resources/swiftformat/default.swiftformat",
"rule" : {
"process" : {
}
}
},
{
"path" : "/host/spi-builder-workspace/Sources/KippleFramework/Resources/swiftlint/default.swiftlint.yml",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Core/Helpers/BuildEnvironment.swift",
"Core/Helpers/FileFormatter.swift",
"Core/Helpers/SwiftBuilder.swift",
"Core/Helpers/SwiftFormat.swift",
"Core/MainCommand.swift",
"Core/Models/Platform.swift",
"Core/Models/SwiftVersion.swift",
"Core/Subcommands/BuildCommand.swift",
"Core/Subcommands/FormatCommand.swift",
"Core/Subcommands/InstallCommand.swift",
"Core/Subcommands/SetupCommand.swift",
"Core/Subcommands/TestCommand.swift",
"Core/Subcommands/UninstallCommand.swift"
],
"target_dependencies" : [
"KippleToolsCore"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Done.