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 (58610a), with Swift 6.1 for macOS (SPM) on 16 Jun 2025 22:15:29 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/skiptools/skip.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/skiptools/skip
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 58610a6 Free up disk space before running CI
Cloned https://github.com/skiptools/skip.git
Revision (git rev-parse @):
58610a61bcdc61bffb7d89c0044103113ee3fe44
SUCCESS checkout https://github.com/skiptools/skip.git at main
Downloading binary artifact https://source.skip.tools/skip/releases/download/1.6.0/skip.zip
[16375/15968512] Downloading https://source.skip.tools/skip/releases/download/1.6.0/skip.zip
Downloaded https://source.skip.tools/skip/releases/download/1.6.0/skip.zip (2.26s)
========================================
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": "skip",
      "name": "skip",
      "url": "https://github.com/skiptools/skip.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/skip",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/skiptools/skip.git
[1/8052] Fetching skip
Fetched https://github.com/skiptools/skip.git from cache (1.46s)
Creating working copy for https://github.com/skiptools/skip.git
Working copy of https://github.com/skiptools/skip.git resolved at main (58610a6)
Fetching binary artifact https://source.skip.tools/skip/releases/download/1.6.0/skip.zip from cache
Fetched https://source.skip.tools/skip/releases/download/1.6.0/skip.zip from cache (0.76s)
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/skiptools/skip.git
https://github.com/skiptools/skip.git
{
  "default_localization" : "en",
  "dependencies" : [
  ],
  "manifest_display_name" : "skip",
  "name" : "skip",
  "path" : "/Users/admin/builder/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.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 ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
[1/1] Compiling plugin Create SkipLink
[2/2] Compiling plugin skipstone
Building for debugging...
[2/5] Write sources
[4/5] Write swift-version-2F0A5646E1D333AE.txt
[6/11] Compiling SkipDrive SourceMap.swift
[7/11] Emitting module SkipDrive
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:529: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
 516 |     }
 517 |
 518 |     public enum OutputRedirection {
     |                 `- note: consider making enum 'OutputRedirection' conform to the 'Sendable' protocol
 519 |         /// Do not redirect the output
 520 |         case none
     :
 527 |
 528 |         /// Default collect OutputRedirection that defaults to not redirect stderr. Provided for API compatibility.
 529 |         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
 530 |
 531 |         /// Default stream OutputRedirection that defaults to not redirect stderr. Provided for API compatibility.
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:588: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
 586 |     public typealias LoggingHandler = (String) -> Void
 587 |
 588 |     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
 589 |     private static let loggingHandlerLock = NSLock()
 590 |
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:704: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
 702 |     /// Key: Executable name or path.
 703 |     /// Value: Path to the executable, if found.
 704 |     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
 705 |     private static let validatedExecutablesMapLock = NSLock()
 706 |
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2767: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
2765 |
2766 | /// Public stdout stream instance.
2767 | 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
2768 |     filePointer: stdout,
2769 |     closeOnDeinit: false))
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2772: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
2770 |
2771 | /// Public stderr stream instance.
2772 | 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
2773 |     filePointer: stderr,
2774 |     closeOnDeinit: false))
[8/11] Compiling SkipDrive GradleDriver.swift
[9/11] Compiling SkipDrive GradleHarness.swift
[10/11] Compiling SkipDrive ToolSupport.swift
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:529: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
 516 |     }
 517 |
 518 |     public enum OutputRedirection {
     |                 `- note: consider making enum 'OutputRedirection' conform to the 'Sendable' protocol
 519 |         /// Do not redirect the output
 520 |         case none
     :
 527 |
 528 |         /// Default collect OutputRedirection that defaults to not redirect stderr. Provided for API compatibility.
 529 |         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
 530 |
 531 |         /// Default stream OutputRedirection that defaults to not redirect stderr. Provided for API compatibility.
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:588: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
 586 |     public typealias LoggingHandler = (String) -> Void
 587 |
 588 |     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
 589 |     private static let loggingHandlerLock = NSLock()
 590 |
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:704: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
 702 |     /// Key: Executable name or path.
 703 |     /// Value: Path to the executable, if found.
 704 |     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
 705 |     private static let validatedExecutablesMapLock = NSLock()
 706 |
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2767: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
2765 |
2766 | /// Public stdout stream instance.
2767 | 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
2768 |     filePointer: stdout,
2769 |     closeOnDeinit: false))
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2772: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
2770 |
2771 | /// Public stderr stream instance.
2772 | 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
2773 |     filePointer: stderr,
2774 |     closeOnDeinit: false))
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1064: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
1062 |             group.enter()
1063 |             let stdoutThread = Thread { [weak self] in
1064 |                 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
     |                                                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1065 |                     pendingLock.withLock {
1066 |                         if let stderrResult = pending {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1064: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
1062 |             group.enter()
1063 |             let stdoutThread = Thread { [weak self] in
1064 |                 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
     |                                                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1065 |                     pendingLock.withLock {
1066 |                         if let stderrResult = pending {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1064:60: warning: reference to captured var 'outputPipe' in concurrently-executing code
1062 |             group.enter()
1063 |             let stdoutThread = Thread { [weak self] in
1064 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
     |                                                            `- warning: reference to captured var 'outputPipe' in concurrently-executing code
1065 |                     pendingLock.withLock {
1066 |                         if let stderrResult = pending {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1066:47: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1064 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
1065 |                     pendingLock.withLock {
1066 |                         if let stderrResult = pending {
     |                                               `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1067 |                             self?.stateLock.withLock {
1068 |                                 self?.state = .outputReady(stdout: readResult, stderr: stderrResult)
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1071:29: warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1069 |                             }
1070 |                         } else  {
1071 |                             pending = readResult
     |                             `- warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1072 |                         }
1073 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1075:70: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1073 |                     }
1074 |                     group.leave()
1075 |                 } 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
1076 |                     // TODO: this is more of an error
1077 |                     self?.stateLock.withLock {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1093: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
1091 |                 group.enter()
1092 |                 stderrThread = Thread { [weak self] in
1093 |                     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
     |                                                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1094 |                         pendingLock.withLock {
1095 |                             if let stdoutResult = pending {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1093: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
1091 |                 group.enter()
1092 |                 stderrThread = Thread { [weak self] in
1093 |                     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
     |                                                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1094 |                         pendingLock.withLock {
1095 |                             if let stdoutResult = pending {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1093:64: warning: reference to captured var 'stderrPipe' in concurrently-executing code
1091 |                 group.enter()
1092 |                 stderrThread = Thread { [weak self] in
1093 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
     |                                                                `- warning: reference to captured var 'stderrPipe' in concurrently-executing code
1094 |                         pendingLock.withLock {
1095 |                             if let stdoutResult = pending {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1095:51: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1093 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
1094 |                         pendingLock.withLock {
1095 |                             if let stdoutResult = pending {
     |                                                   `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1096 |                                 self?.stateLock.withLock {
1097 |                                     self?.state = .outputReady(stdout: stdoutResult, stderr: readResult)
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1100:33: warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1098 |                                 }
1099 |                             } else {
1100 |                                 pending = readResult
     |                                 `- warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1101 |                             }
1102 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1104:74: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1102 |                         }
1103 |                         group.leave()
1104 |                     } 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
1105 |                         // TODO: this is more of an error
1106 |                         self?.stateLock.withLock {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1219:36: warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure
1217 |             self.state = .complete(executionResult)
1218 |             self.completionQueue.async {
1219 |                 self.waitUntilExit(completion)
     |                                    |- warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure
     |                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1220 |             }
1221 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1402:17: warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure
1400 |         } catch {
1401 |             completionQueue.async {
1402 |                 completion(.failure(error))
     |                 |- warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1403 |             }
1404 |         }
[11/11] Compiling SkipDrive Version.swift
[12/13] Emitting module SkipTest
[13/13] Compiling SkipTest XCGradleHarness.swift
Build complete! (15.22s)
Build complete.
{
  "default_localization" : "en",
  "dependencies" : [
  ],
  "manifest_display_name" : "skip",
  "name" : "skip",
  "path" : "/Users/admin/builder/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.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
Done.