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 (f56f45), with Swift 6.1 for macOS (SPM) on 12 Dec 2025 05:10:19 UTC.

Swift 6 data race errors: 5

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.68.0
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 f56f459 Enable issues in Skip Fuse Android builds to jump to correct file and line when selected in Xcode (#553)
Cloned https://github.com/skiptools/skip.git
Revision (git rev-parse @):
f56f459422d3a0e76d5772b8c9c5ce2deeee54bc
SUCCESS checkout https://github.com/skiptools/skip.git at main
========================================
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"
}
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 Version.swift
[7/11] Compiling SkipDrive SourceMap.swift
[8/11] Emitting module SkipDrive
/Users/admin/builder/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.
/Users/admin/builder/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 |
/Users/admin/builder/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 |
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2755: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
2753 |
2754 | /// Public stdout stream instance.
2755 | 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
2756 |     filePointer: stdout,
2757 |     closeOnDeinit: false))
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2760: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
2758 |
2759 | /// Public stderr stream instance.
2760 | 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
2761 |     filePointer: stderr,
2762 |     closeOnDeinit: false))
[9/11] Compiling SkipDrive ToolSupport.swift
/Users/admin/builder/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.
/Users/admin/builder/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 |
/Users/admin/builder/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 |
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2755: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
2753 |
2754 | /// Public stdout stream instance.
2755 | 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
2756 |     filePointer: stdout,
2757 |     closeOnDeinit: false))
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2760: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
2758 |
2759 | /// Public stderr stream instance.
2760 | 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
2761 |     filePointer: stderr,
2762 |     closeOnDeinit: false))
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1056: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
1054 |             group.enter()
1055 |             let stdoutThread = Thread { [weak self] in
1056 |                 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'
1057 |                     pendingLock.withLock {
1058 |                         if let stderrResult = pending {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1056: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
1054 |             group.enter()
1055 |             let stdoutThread = Thread { [weak self] in
1056 |                 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'
1057 |                     pendingLock.withLock {
1058 |                         if let stderrResult = pending {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1056:60: warning: reference to captured var 'outputPipe' in concurrently-executing code
1054 |             group.enter()
1055 |             let stdoutThread = Thread { [weak self] in
1056 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
     |                                                            `- warning: reference to captured var 'outputPipe' in concurrently-executing code
1057 |                     pendingLock.withLock {
1058 |                         if let stderrResult = pending {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1058:47: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1056 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
1057 |                     pendingLock.withLock {
1058 |                         if let stderrResult = pending {
     |                                               `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1059 |                             self?.stateLock.withLock {
1060 |                                 self?.state = .outputReady(stdout: readResult, stderr: stderrResult)
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1063:29: warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1061 |                             }
1062 |                         } else  {
1063 |                             pending = readResult
     |                             `- warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1064 |                         }
1065 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1067:70: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1065 |                     }
1066 |                     group.leave()
1067 |                 } 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
1068 |                     // TODO: this is more of an error
1069 |                     self?.stateLock.withLock {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1085: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
1083 |                 group.enter()
1084 |                 stderrThread = Thread { [weak self] in
1085 |                     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'
1086 |                         pendingLock.withLock {
1087 |                             if let stdoutResult = pending {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1085: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
1083 |                 group.enter()
1084 |                 stderrThread = Thread { [weak self] in
1085 |                     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'
1086 |                         pendingLock.withLock {
1087 |                             if let stdoutResult = pending {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1085:64: warning: reference to captured var 'stderrPipe' in concurrently-executing code
1083 |                 group.enter()
1084 |                 stderrThread = Thread { [weak self] in
1085 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
     |                                                                `- warning: reference to captured var 'stderrPipe' in concurrently-executing code
1086 |                         pendingLock.withLock {
1087 |                             if let stdoutResult = pending {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1087:51: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1085 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
1086 |                         pendingLock.withLock {
1087 |                             if let stdoutResult = pending {
     |                                                   `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1088 |                                 self?.stateLock.withLock {
1089 |                                     self?.state = .outputReady(stdout: stdoutResult, stderr: readResult)
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1092:33: warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1090 |                                 }
1091 |                             } else {
1092 |                                 pending = readResult
     |                                 `- warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1093 |                             }
1094 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1096:74: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1094 |                         }
1095 |                         group.leave()
1096 |                     } 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
1097 |                         // TODO: this is more of an error
1098 |                         self?.stateLock.withLock {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1211:36: warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure
1209 |             self.state = .complete(executionResult)
1210 |             self.completionQueue.async {
1211 |                 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'
1212 |             }
1213 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1394:17: warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure
1392 |         } catch {
1393 |             completionQueue.async {
1394 |                 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'
1395 |             }
1396 |         }
[10/11] Compiling SkipDrive GradleDriver.swift
[11/11] Compiling SkipDrive GradleHarness.swift
[12/13] Emitting module SkipTest
[13/13] Compiling SkipTest XCGradleHarness.swift
Build complete! (17.58s)
Downloading binary artifact https://source.skip.tools/skip/releases/download/1.6.30/skip.zip
[16375/15747383] Downloading https://source.skip.tools/skip/releases/download/1.6.30/skip.zip
Downloaded https://source.skip.tools/skip/releases/download/1.6.30/skip.zip (1.82s)
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"
}
Done.