The Swift Package Index logo.Swift Package Index

Build Information

Successful build of skip, reference 1.9.20 (9a24b7), with Swift 6.1 for macOS (SPM) on 28 Oct 2026 07:35:34 UTC.

Swift 6 data race errors: 1

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: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/skiptools/skip.git
Reference: 1.9.20
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/skiptools/skip
 * tag               1.9.20     -> FETCH_HEAD
HEAD is now at 9a24b76 Release 1.9.20
Cloned https://github.com/skiptools/skip.git
Revision (git rev-parse @):
9a24b76b0681d8175d86911307494599e2ec47df
SUCCESS checkout https://github.com/skiptools/skip.git at 1.9.20
========================================
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" : "skiptranspile",
      "targets" : [
        "Skip Transpile"
      ],
      "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",
        "SkipTranspile.swift"
      ],
      "target_dependencies" : [
        "skip"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "skip",
      "module_type" : "BinaryTarget",
      "name" : "skip",
      "path" : "remote/archive/skip-macos.zip",
      "product_memberships" : [
        "skipstone",
        "skiplink",
        "skiptranspile",
        "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" : "Skip_Transpile",
      "module_type" : "PluginTarget",
      "name" : "Skip Transpile",
      "path" : "Plugins/SkipTranspile",
      "plugin_capability" : {
        "intent" : {
          "description" : "Transpile the Skip modules without building them",
          "type" : "custom",
          "verb" : "skip-transpile"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "This command writes the transpiled output to the package's .build/plugins/outputs folder",
            "type" : "writeToPackageDirectory"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "skiptranspile"
      ],
      "sources" : [
        "SkipTranspile.swift",
        "SkipTranspilePlugin.swift"
      ],
      "target_dependencies" : [
        "skip"
      ],
      "type" : "plugin"
    },
    {
      "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.10"
}
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 Skip Transpile
[2/2] Compiling plugin Create SkipLink
[3/3] Compiling plugin skipstone
Building for debugging...
[3/6] Write sources
[5/6] Write swift-version-2F0A5646E1D333AE.txt
[7/12] Compiling SkipDrive SourceMap.swift
[8/12] Compiling SkipDrive Version.swift
[9/12] Compiling SkipDrive GradleHarness.swift
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/GradleHarness.swift:513:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[AppBuildGradleAGPIssue]' may have shared mutable state; this is an error in the Swift 6 language mode
502 | /// automatic fix performed by `skip verify --fix`, so the two never drift apart. Detection and fixes only
503 | /// consider *active* (non-commented) lines, so a commented-out reference in the project template is ignored.
504 | public struct AppBuildGradleAGPIssue {
    |               `- note: consider making struct 'AppBuildGradleAGPIssue' conform to the 'Sendable' protocol
505 |     /// The substring whose presence on an active line of `build.gradle.kts` indicates the issue.
506 |     public let trigger: String
    :
511 |
512 |     /// All AGP-compatibility issues that are checked for an app's `build.gradle.kts`.
513 |     public static let all: [AppBuildGradleAGPIssue] = [
    |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[AppBuildGradleAGPIssue]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
514 |         // AGP 9 no longer ships the default proguard-android.txt that earlier SkipProject defaults referenced
515 |         // in the line: proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
[10/12] Compiling SkipDrive ToolSupport.swift
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1072: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
1070 |             group.enter()
1071 |             let stdoutThread = Thread { [weak self] in
1072 |                 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'
1073 |                     pendingLock.withLock {
1074 |                         if let stderrResult = pending.value {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1072: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
1070 |             group.enter()
1071 |             let stdoutThread = Thread { [weak self] in
1072 |                 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'
1073 |                     pendingLock.withLock {
1074 |                         if let stderrResult = pending.value {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1101: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
1099 |                 group.enter()
1100 |                 stderrThread = Thread { [weak self] in
1101 |                     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'
1102 |                         pendingLock.withLock {
1103 |                             if let stdoutResult = pending.value {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1101: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
1099 |                 group.enter()
1100 |                 stderrThread = Thread { [weak self] in
1101 |                     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'
1102 |                         pendingLock.withLock {
1103 |                             if let stdoutResult = pending.value {
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1227:36: warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure
1225 |             self.state = .complete(executionResult)
1226 |             self.completionQueue.async {
1227 |                 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'
1228 |             }
1229 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1410:17: warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure
1408 |         } catch {
1409 |             completionQueue.async {
1410 |                 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'
1411 |             }
1412 |         }
[11/12] Compiling SkipDrive GradleDriver.swift
[12/12] Emitting module SkipDrive
/Users/admin/builder/spi-builder-workspace/Sources/SkipDrive/GradleHarness.swift:513:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[AppBuildGradleAGPIssue]' may have shared mutable state; this is an error in the Swift 6 language mode
502 | /// automatic fix performed by `skip verify --fix`, so the two never drift apart. Detection and fixes only
503 | /// consider *active* (non-commented) lines, so a commented-out reference in the project template is ignored.
504 | public struct AppBuildGradleAGPIssue {
    |               `- note: consider making struct 'AppBuildGradleAGPIssue' conform to the 'Sendable' protocol
505 |     /// The substring whose presence on an active line of `build.gradle.kts` indicates the issue.
506 |     public let trigger: String
    :
511 |
512 |     /// All AGP-compatibility issues that are checked for an app's `build.gradle.kts`.
513 |     public static let all: [AppBuildGradleAGPIssue] = [
    |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[AppBuildGradleAGPIssue]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
514 |         // AGP 9 no longer ships the default proguard-android.txt that earlier SkipProject defaults referenced
515 |         // in the line: proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
[13/14] Compiling SkipTest XCGradleHarness.swift
[14/14] Emitting module SkipTest
Build complete! (17.97s)
Downloading binary artifact https://github.com/skiptools/skip/releases/download/1.9.20/skip-macos.zip
[16375/17611391] Downloading https://github.com/skiptools/skip/releases/download/1.9.20/skip-macos.zip
Downloaded https://github.com/skiptools/skip/releases/download/1.9.20/skip-macos.zip (1.31s)
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" : "skiptranspile",
      "targets" : [
        "Skip Transpile"
      ],
      "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",
        "SkipTranspile.swift"
      ],
      "target_dependencies" : [
        "skip"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "skip",
      "module_type" : "BinaryTarget",
      "name" : "skip",
      "path" : "remote/archive/skip-macos.zip",
      "product_memberships" : [
        "skipstone",
        "skiplink",
        "skiptranspile",
        "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" : "Skip_Transpile",
      "module_type" : "PluginTarget",
      "name" : "Skip Transpile",
      "path" : "Plugins/SkipTranspile",
      "plugin_capability" : {
        "intent" : {
          "description" : "Transpile the Skip modules without building them",
          "type" : "custom",
          "verb" : "skip-transpile"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "This command writes the transpiled output to the package's .build/plugins/outputs folder",
            "type" : "writeToPackageDirectory"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "skiptranspile"
      ],
      "sources" : [
        "SkipTranspile.swift",
        "SkipTranspilePlugin.swift"
      ],
      "target_dependencies" : [
        "skip"
      ],
      "type" : "plugin"
    },
    {
      "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.10"
}
Done.