The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of skip, reference main (0032ff), with Swift 6.1 for Linux on 9 Sep 2025 21:36:47 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.67.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/skiptools/skip.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/skiptools/skip
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 0032fff Update test cases to acknowledge new app_privacy_details.json metadata
Cloned https://github.com/skiptools/skip.git
Revision (git rev-parse @):
0032fff8d58889143fadd0ecbc4c543fe292524f
SUCCESS checkout https://github.com/skiptools/skip.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/skiptools/skip.git
https://github.com/skiptools/skip.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "default_localization" : "en",
  "dependencies" : [
  ],
  "manifest_display_name" : "skip",
  "name" : "skip",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "16.0"
    }
  ],
  "products" : [
    {
      "name" : "skipstone",
      "targets" : [
        "skipstone"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "skiplink",
      "targets" : [
        "Create SkipLink"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "SkipDrive",
      "targets" : [
        "SkipDrive"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SkipTest",
      "targets" : [
        "SkipTest"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "skipstone",
      "module_type" : "PluginTarget",
      "name" : "skipstone",
      "path" : "Plugins/SkipPlugin",
      "plugin_capability" : {
        "type" : "buildTool"
      },
      "product_memberships" : [
        "skipstone",
        "SkipDrive",
        "SkipTest"
      ],
      "sources" : [
        "SkipPlugin.swift"
      ],
      "target_dependencies" : [
        "skip"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "skip",
      "module_type" : "BinaryTarget",
      "name" : "skip",
      "path" : "remote/archive/skip-linux.zip",
      "product_memberships" : [
        "skipstone",
        "skiplink",
        "SkipDrive",
        "SkipTest"
      ],
      "sources" : [
      ],
      "type" : "binary"
    },
    {
      "c99name" : "SkipTestTests",
      "module_type" : "SwiftTarget",
      "name" : "SkipTestTests",
      "path" : "Tests/SkipTestTests",
      "sources" : [
        "GradleDriverTests.swift"
      ],
      "target_dependencies" : [
        "SkipTest"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SkipTest",
      "module_type" : "SwiftTarget",
      "name" : "SkipTest",
      "path" : "Sources/SkipTest",
      "product_memberships" : [
        "SkipTest"
      ],
      "sources" : [
        "XCGradleHarness.swift"
      ],
      "target_dependencies" : [
        "SkipDrive"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SkipDriveTests",
      "module_type" : "SwiftTarget",
      "name" : "SkipDriveTests",
      "path" : "Tests/SkipDriveTests",
      "sources" : [
        "SkipDriveTests.swift"
      ],
      "target_dependencies" : [
        "SkipDrive"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SkipDrive",
      "module_type" : "SwiftTarget",
      "name" : "SkipDrive",
      "path" : "Sources/SkipDrive",
      "product_memberships" : [
        "SkipDrive",
        "SkipTest"
      ],
      "sources" : [
        "GradleDriver.swift",
        "GradleHarness.swift",
        "SourceMap.swift",
        "ToolSupport.swift",
        "Version.swift"
      ],
      "target_dependencies" : [
        "skipstone",
        "skip"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Create_SkipLink",
      "module_type" : "PluginTarget",
      "name" : "Create SkipLink",
      "path" : "Plugins/SkipLink",
      "plugin_capability" : {
        "intent" : {
          "description" : "Create local links to transpiled output",
          "type" : "custom",
          "verb" : "SkipLink"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "This command will create local links to the skipstone output for the specified package(s), enabling access to the transpiled Kotlin",
            "type" : "writeToPackageDirectory"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "skiplink"
      ],
      "sources" : [
        "SkipLinkPlugin.swift"
      ],
      "target_dependencies" : [
        "skip"
      ],
      "type" : "plugin"
    }
  ],
  "tools_version" : "5.9"
}
error: 'spi-builder-workspace': executable product 'skip' expects target 'skip' to be executable; an executable target requires a 'main.swift' file
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:99ea6d26ace67c023f359493a2ac553a612b92a7f2dee009657225f46f43aa0e
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Downloading binary artifact https://source.skip.tools/skip/releases/download/1.6.17/skip-linux.zip
[1369/165381950] Downloading https://source.skip.tools/skip/releases/download/1.6.17/skip-linux.zip
Downloaded https://source.skip.tools/skip/releases/download/1.6.17/skip-linux.zip (13.03s)
[1/1] Compiling plugin Create SkipLink
[2/2] Compiling plugin skipstone
Building for debugging...
[2/5] Write sources
[4/5] Write swift-version-24593BA9C3E375BF.txt
[6/11] Compiling SkipDrive GradleHarness.swift
[7/11] Compiling SkipDrive ToolSupport.swift
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:536:27: warning: static property 'collect' is not concurrency-safe because non-'Sendable' type 'Process.OutputRedirection' may have shared mutable state; this is an error in the Swift 6 language mode
 523 |     }
 524 |
 525 |     public enum OutputRedirection {
     |                 `- note: consider making enum 'OutputRedirection' conform to the 'Sendable' protocol
 526 |         /// Do not redirect the output
 527 |         case none
     :
 534 |
 535 |         /// Default collect OutputRedirection that defaults to not redirect stderr. Provided for API compatibility.
 536 |         public static let collect: OutputRedirection = .collect(redirectStderr: false)
     |                           |- warning: static property 'collect' is not concurrency-safe because non-'Sendable' type 'Process.OutputRedirection' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: add '@MainActor' to make static property 'collect' part of global actor 'MainActor'
     |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 537 |
 538 |         /// Default stream OutputRedirection that defaults to not redirect stderr. Provided for API compatibility.
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:595:24: warning: static property '_loggingHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 593 |     public typealias LoggingHandler = (String) -> Void
 594 |
 595 |     private static var _loggingHandler: LoggingHandler?
     |                        |- warning: static property '_loggingHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                        |- note: convert '_loggingHandler' to a 'let' constant to make 'Sendable' shared state immutable
     |                        |- note: add '@MainActor' to make static property '_loggingHandler' part of global actor 'MainActor'
     |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 596 |     private static let loggingHandlerLock = NSLock()
 597 |
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:711:24: warning: static property 'validatedExecutablesMap' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 709 |     /// Key: Executable name or path.
 710 |     /// Value: Path to the executable, if found.
 711 |     private static var validatedExecutablesMap = [String: URL?]()
     |                        |- warning: static property 'validatedExecutablesMap' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                        |- note: convert 'validatedExecutablesMap' to a 'let' constant to make 'Sendable' shared state immutable
     |                        |- note: add '@MainActor' to make static property 'validatedExecutablesMap' part of global actor 'MainActor'
     |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 712 |     private static let validatedExecutablesMapLock = NSLock()
 713 |
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2772:12: warning: var 'stdoutStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2770 |
2771 | /// Public stdout stream instance.
2772 | public var stdoutStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
     |            |- warning: var 'stdoutStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |            |- note: convert 'stdoutStream' to a 'let' constant to make 'Sendable' shared state immutable
     |            |- note: add '@MainActor' to make var 'stdoutStream' part of global actor 'MainActor'
     |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2773 |     filePointer: stdout,
2774 |     closeOnDeinit: false))
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2773:18: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2771 | /// Public stdout stream instance.
2772 | public var stdoutStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
2773 |     filePointer: stdout,
     |                  `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2774 |     closeOnDeinit: false))
2775 |
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2777:12: warning: var 'stderrStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2775 |
2776 | /// Public stderr stream instance.
2777 | public var stderrStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
     |            |- warning: var 'stderrStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |            |- note: convert 'stderrStream' to a 'let' constant to make 'Sendable' shared state immutable
     |            |- note: add '@MainActor' to make var 'stderrStream' part of global actor 'MainActor'
     |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2778 |     filePointer: stderr,
2779 |     closeOnDeinit: false))
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2778:18: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2776 | /// Public stderr stream instance.
2777 | public var stderrStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
2778 |     filePointer: stderr,
     |                  `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2779 |     closeOnDeinit: false))
2780 |
/usr/include/stdio.h:145:14: note: var declared here
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
145 | extern FILE *stderr;		/* Standard error output stream.  */
    |              `- note: var declared here
146 | /* C89/C99 say they're macros.  Make them happy.  */
147 | #define stdin stdin
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1071:90: warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
1069 |             group.enter()
1070 |             let stdoutThread = Thread { [weak self] in
1071 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
     |                                                                                          |- warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
     |                                                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1072 |                     pendingLock.withLock {
1073 |                         if let stderrResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1071:90: warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
1069 |             group.enter()
1070 |             let stdoutThread = Thread { [weak self] in
1071 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
     |                                                                                          |- warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
     |                                                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1072 |                     pendingLock.withLock {
1073 |                         if let stderrResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1071:60: warning: reference to captured var 'outputPipe' in concurrently-executing code; this is an error in the Swift 6 language mode
1069 |             group.enter()
1070 |             let stdoutThread = Thread { [weak self] in
1071 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
     |                                                            `- warning: reference to captured var 'outputPipe' in concurrently-executing code; this is an error in the Swift 6 language mode
1072 |                     pendingLock.withLock {
1073 |                         if let stderrResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1073:47: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1071 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
1072 |                     pendingLock.withLock {
1073 |                         if let stderrResult = pending {
     |                                               `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1074 |                             self?.stateLock.withLock {
1075 |                                 self?.state = .outputReady(stdout: readResult, stderr: stderrResult)
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1078:29: warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1076 |                             }
1077 |                         } else  {
1078 |                             pending = readResult
     |                             `- warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1079 |                         }
1080 |                     }
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1082:70: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1080 |                     }
1081 |                     group.leave()
1082 |                 } else if let stderrResult = (pendingLock.withLock { pending }) {
     |                                                                      `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1083 |                     // TODO: this is more of an error
1084 |                     self?.stateLock.withLock {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1100:94: warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
1098 |                 group.enter()
1099 |                 stderrThread = Thread { [weak self] in
1100 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
     |                                                                                              |- warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
     |                                                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1101 |                         pendingLock.withLock {
1102 |                             if let stdoutResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1100:94: warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
1098 |                 group.enter()
1099 |                 stderrThread = Thread { [weak self] in
1100 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
     |                                                                                              |- warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
     |                                                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1101 |                         pendingLock.withLock {
1102 |                             if let stdoutResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1100:64: warning: reference to captured var 'stderrPipe' in concurrently-executing code; this is an error in the Swift 6 language mode
1098 |                 group.enter()
1099 |                 stderrThread = Thread { [weak self] in
1100 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
     |                                                                `- warning: reference to captured var 'stderrPipe' in concurrently-executing code; this is an error in the Swift 6 language mode
1101 |                         pendingLock.withLock {
1102 |                             if let stdoutResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1102:51: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1100 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
1101 |                         pendingLock.withLock {
1102 |                             if let stdoutResult = pending {
     |                                                   `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1103 |                                 self?.stateLock.withLock {
1104 |                                     self?.state = .outputReady(stdout: stdoutResult, stderr: readResult)
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1107:33: warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1105 |                                 }
1106 |                             } else {
1107 |                                 pending = readResult
     |                                 `- warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1108 |                             }
1109 |                         }
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1111:74: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1109 |                         }
1110 |                         group.leave()
1111 |                     } else if let stdoutResult = (pendingLock.withLock { pending }) {
     |                                                                          `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1112 |                         // TODO: this is more of an error
1113 |                         self?.stateLock.withLock {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1226:36: warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1224 |             self.state = .complete(executionResult)
1225 |             self.completionQueue.async {
1226 |                 self.waitUntilExit(completion)
     |                                    |- warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
     |                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1227 |             }
1228 |         }
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1409:17: warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1407 |         } catch {
1408 |             completionQueue.async {
1409 |                 completion(.failure(error))
     |                 |- warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1410 |             }
1411 |         }
[8/11] Emitting module SkipDrive
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:536:27: warning: static property 'collect' is not concurrency-safe because non-'Sendable' type 'Process.OutputRedirection' may have shared mutable state; this is an error in the Swift 6 language mode
 523 |     }
 524 |
 525 |     public enum OutputRedirection {
     |                 `- note: consider making enum 'OutputRedirection' conform to the 'Sendable' protocol
 526 |         /// Do not redirect the output
 527 |         case none
     :
 534 |
 535 |         /// Default collect OutputRedirection that defaults to not redirect stderr. Provided for API compatibility.
 536 |         public static let collect: OutputRedirection = .collect(redirectStderr: false)
     |                           |- warning: static property 'collect' is not concurrency-safe because non-'Sendable' type 'Process.OutputRedirection' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: add '@MainActor' to make static property 'collect' part of global actor 'MainActor'
     |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 537 |
 538 |         /// Default stream OutputRedirection that defaults to not redirect stderr. Provided for API compatibility.
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:595:24: warning: static property '_loggingHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 593 |     public typealias LoggingHandler = (String) -> Void
 594 |
 595 |     private static var _loggingHandler: LoggingHandler?
     |                        |- warning: static property '_loggingHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                        |- note: convert '_loggingHandler' to a 'let' constant to make 'Sendable' shared state immutable
     |                        |- note: add '@MainActor' to make static property '_loggingHandler' part of global actor 'MainActor'
     |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 596 |     private static let loggingHandlerLock = NSLock()
 597 |
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:711:24: warning: static property 'validatedExecutablesMap' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 709 |     /// Key: Executable name or path.
 710 |     /// Value: Path to the executable, if found.
 711 |     private static var validatedExecutablesMap = [String: URL?]()
     |                        |- warning: static property 'validatedExecutablesMap' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                        |- note: convert 'validatedExecutablesMap' to a 'let' constant to make 'Sendable' shared state immutable
     |                        |- note: add '@MainActor' to make static property 'validatedExecutablesMap' part of global actor 'MainActor'
     |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 712 |     private static let validatedExecutablesMapLock = NSLock()
 713 |
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2772:12: warning: var 'stdoutStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2770 |
2771 | /// Public stdout stream instance.
2772 | public var stdoutStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
     |            |- warning: var 'stdoutStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |            |- note: convert 'stdoutStream' to a 'let' constant to make 'Sendable' shared state immutable
     |            |- note: add '@MainActor' to make var 'stdoutStream' part of global actor 'MainActor'
     |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2773 |     filePointer: stdout,
2774 |     closeOnDeinit: false))
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2773:18: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2771 | /// Public stdout stream instance.
2772 | public var stdoutStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
2773 |     filePointer: stdout,
     |                  `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2774 |     closeOnDeinit: false))
2775 |
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2777:12: warning: var 'stderrStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2775 |
2776 | /// Public stderr stream instance.
2777 | public var stderrStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
     |            |- warning: var 'stderrStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |            |- note: convert 'stderrStream' to a 'let' constant to make 'Sendable' shared state immutable
     |            |- note: add '@MainActor' to make var 'stderrStream' part of global actor 'MainActor'
     |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2778 |     filePointer: stderr,
2779 |     closeOnDeinit: false))
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2778:18: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2776 | /// Public stderr stream instance.
2777 | public var stderrStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
2778 |     filePointer: stderr,
     |                  `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2779 |     closeOnDeinit: false))
2780 |
/usr/include/stdio.h:145:14: note: var declared here
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
145 | extern FILE *stderr;		/* Standard error output stream.  */
    |              `- note: var declared here
146 | /* C89/C99 say they're macros.  Make them happy.  */
147 | #define stdin stdin
[9/11] Compiling SkipDrive Version.swift
[10/11] Compiling SkipDrive SourceMap.swift
[11/11] Compiling SkipDrive GradleDriver.swift
[13/14] Emitting module SkipTest
[14/14] Compiling SkipTest XCGradleHarness.swift
Build complete! (42.15s)
Build complete.
{
  "default_localization" : "en",
  "dependencies" : [
  ],
  "manifest_display_name" : "skip",
  "name" : "skip",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "16.0"
    }
  ],
  "products" : [
    {
      "name" : "skipstone",
      "targets" : [
        "skipstone"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "skiplink",
      "targets" : [
        "Create SkipLink"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "SkipDrive",
      "targets" : [
        "SkipDrive"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SkipTest",
      "targets" : [
        "SkipTest"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "skipstone",
      "module_type" : "PluginTarget",
      "name" : "skipstone",
      "path" : "Plugins/SkipPlugin",
      "plugin_capability" : {
        "type" : "buildTool"
      },
      "product_memberships" : [
        "skipstone",
        "SkipDrive",
        "SkipTest"
      ],
      "sources" : [
        "SkipPlugin.swift"
      ],
      "target_dependencies" : [
        "skip"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "skip",
      "module_type" : "BinaryTarget",
      "name" : "skip",
      "path" : "remote/archive/skip-linux.zip",
      "product_memberships" : [
        "skipstone",
        "skiplink",
        "SkipDrive",
        "SkipTest"
      ],
      "sources" : [
      ],
      "type" : "binary"
    },
    {
      "c99name" : "SkipTestTests",
      "module_type" : "SwiftTarget",
      "name" : "SkipTestTests",
      "path" : "Tests/SkipTestTests",
      "sources" : [
        "GradleDriverTests.swift"
      ],
      "target_dependencies" : [
        "SkipTest"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SkipTest",
      "module_type" : "SwiftTarget",
      "name" : "SkipTest",
      "path" : "Sources/SkipTest",
      "product_memberships" : [
        "SkipTest"
      ],
      "sources" : [
        "XCGradleHarness.swift"
      ],
      "target_dependencies" : [
        "SkipDrive"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SkipDriveTests",
      "module_type" : "SwiftTarget",
      "name" : "SkipDriveTests",
      "path" : "Tests/SkipDriveTests",
      "sources" : [
        "SkipDriveTests.swift"
      ],
      "target_dependencies" : [
        "SkipDrive"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SkipDrive",
      "module_type" : "SwiftTarget",
      "name" : "SkipDrive",
      "path" : "Sources/SkipDrive",
      "product_memberships" : [
        "SkipDrive",
        "SkipTest"
      ],
      "sources" : [
        "GradleDriver.swift",
        "GradleHarness.swift",
        "SourceMap.swift",
        "ToolSupport.swift",
        "Version.swift"
      ],
      "target_dependencies" : [
        "skipstone",
        "skip"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Create_SkipLink",
      "module_type" : "PluginTarget",
      "name" : "Create SkipLink",
      "path" : "Plugins/SkipLink",
      "plugin_capability" : {
        "intent" : {
          "description" : "Create local links to transpiled output",
          "type" : "custom",
          "verb" : "SkipLink"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "This command will create local links to the skipstone output for the specified package(s), enabling access to the transpiled Kotlin",
            "type" : "writeToPackageDirectory"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "skiplink"
      ],
      "sources" : [
        "SkipLinkPlugin.swift"
      ],
      "target_dependencies" : [
        "skip"
      ],
      "type" : "plugin"
    }
  ],
  "tools_version" : "5.9"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:99ea6d26ace67c023f359493a2ac553a612b92a7f2dee009657225f46f43aa0e
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
error: 'spi-builder-workspace': executable product 'skip' expects target 'skip' to be executable; an executable target requires a 'main.swift' file
Done.