Build Information
Successful build of skip, reference 1.6.0 (c38a62
), with Swift 6.1 for macOS (SPM) on 11 Jun 2025 08:03:24 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: 1.6.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/skiptools/skip
* tag 1.6.0 -> FETCH_HEAD
HEAD is now at c38a62d Release 1.6.0
Cloned https://github.com/skiptools/skip.git
Revision (git rev-parse @):
c38a62db4e2026f52fa6070f286099b038670065
SUCCESS checkout https://github.com/skiptools/skip.git at 1.6.0
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 (1.91s)
========================================
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/8047] Fetching skip
Fetched https://github.com/skiptools/skip.git from cache (1.50s)
Creating working copy for https://github.com/skiptools/skip.git
Working copy of https://github.com/skiptools/skip.git resolved at 1.6.0 (c38a62d)
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 Version.swift
[7/11] Compiling SkipDrive GradleHarness.swift
[8/11] Compiling SkipDrive SourceMap.swift
[9/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 | }
[10/11] Compiling SkipDrive GradleDriver.swift
[11/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))
[12/13] Emitting module SkipTest
[13/13] Compiling SkipTest XCGradleHarness.swift
Build complete! (14.26s)
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.