The Swift Package Index logo.Swift Package Index

Build Information

Successful build of CommandLineToolkit, reference master (9187d5), with Swift 6.1 for Linux on 14 Oct 2026 05:33:51 UTC.

Swift 6 data race errors: 63

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344845-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[639/649] Compiling ProcessController BashEscapedCommandMakerImpl.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[640/649] Emitting module ArgumentParser
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:110:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
108 |         processTerminationHandlerGroup.enter()
109 |         process.terminationHandler = { [weak self] _ in
110 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
111 |
112 |             strongSelf.processTerminated()
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:118:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
116 |
117 |         listenerQueue.async { [weak self] in
118 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
119 |
120 |             for listenerWrapper in strongSelf.startListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:124:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
122 |                     guard let strongSelf = self else { return }
123 |                     strongSelf.listenerQueue.async {
124 |                         strongSelf.startListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
125 |                     }
126 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:124:74: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StartListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
122 |                     guard let strongSelf = self else { return }
123 |                     strongSelf.listenerQueue.async {
124 |                         strongSelf.startListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                          `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StartListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
125 |                     }
126 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:124:74: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StartListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
122 |                     guard let strongSelf = self else { return }
123 |                     strongSelf.listenerQueue.async {
124 |                         strongSelf.startListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                          `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StartListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
125 |                     }
126 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:170:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
168 |     public func send(signal: Int32) {
169 |         listenerQueue.async { [weak self] in
170 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
171 |
172 |             for listenerWrapper in strongSelf.signalListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:177:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
175 |
176 |                     strongSelf.listenerQueue.async {
177 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 |                     }
179 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:177:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<SignalListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Int32, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
175 |
176 |                     strongSelf.listenerQueue.async {
177 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<SignalListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Int32, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 |                     }
179 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:177:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<SignalListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Int32, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
175 |
176 |                     strongSelf.listenerQueue.async {
177 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<SignalListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Int32, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
178 |                     }
179 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:228:40: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
226 |             signalTermination(process)
227 |             processTerminationQueue.asyncAfter(deadline: .now() + terminationSignalTimeout) { [weak self] in
228 |                 guard let strongSelf = self else { return }
    |                                        `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 |                 strongSelf.forceKillProcess(onKill: onKill)
230 |             }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:229:53: warning: capture of 'onKill' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
227 |             processTerminationQueue.asyncAfter(deadline: .now() + terminationSignalTimeout) { [weak self] in
228 |                 guard let strongSelf = self else { return }
229 |                 strongSelf.forceKillProcess(onKill: onKill)
    |                                                     |- warning: capture of 'onKill' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
230 |             }
231 |         }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:244:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
242 |     private func processTerminated() {
243 |         listenerQueue.async { [weak self] in
244 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
245 |
246 |             for listenerWrapper in strongSelf.terminationListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:251:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
249 |
250 |                     strongSelf.listenerQueue.async {
251 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
252 |                     }
253 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:251:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<TerminationListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
249 |
250 |                     strongSelf.listenerQueue.async {
251 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<TerminationListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
252 |                     }
253 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:251:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<TerminationListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
249 |
250 |                     strongSelf.listenerQueue.async {
251 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<TerminationListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
252 |                     }
253 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:259:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
257 |
258 |         listenerQueue.async(flags: .barrier) { [weak self] in
259 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
260 |             strongSelf.processTerminationHandlerGroup.leave()
261 |         }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:298:17: warning: capture of 'onEndOfData' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
296 |                 pipe.fileHandleForReading.closeFile()
297 | #endif
298 |                 onEndOfData()
    |                 |- warning: capture of 'onEndOfData' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
299 |             } else {
300 |                 onNewData(data)
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:300:17: warning: capture of 'onNewData' with non-sendable type '(Data) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
298 |                 onEndOfData()
299 |             } else {
300 |                 onNewData(data)
    |                 |- warning: capture of 'onNewData' with non-sendable type '(Data) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
301 |             }
302 |         }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:318:21: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
316 |                 guard let strongSelf = self else { return }
317 |                 strongSelf.listenerQueue.async {
318 |                     strongSelf.openPipeFileHandleGroup.leave()
    |                     `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
319 |                 }
320 |             }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:335:21: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
333 |                 guard let strongSelf = self else { return }
334 |                 strongSelf.listenerQueue.async {
335 |                     strongSelf.openPipeFileHandleGroup.leave()
    |                     `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
336 |                 }
337 |             }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:361:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
359 |     private func didReceiveStdout(data: Data) {
360 |         listenerQueue.async { [weak self] in
361 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
362 |
363 |             for listenerWrapper in strongSelf.stdoutListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:368:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
366 |
367 |                     strongSelf.listenerQueue.async {
368 |                         strongSelf.stdoutListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
369 |                     }
370 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:368:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StdoutListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
366 |
367 |                     strongSelf.listenerQueue.async {
368 |                         strongSelf.stdoutListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StdoutListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
369 |                     }
370 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:368:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StdoutListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
366 |
367 |                     strongSelf.listenerQueue.async {
368 |                         strongSelf.stdoutListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StdoutListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
369 |                     }
370 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:378:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
376 |     private func didReceiveStderr(data: Data) {
377 |         listenerQueue.async { [weak self] in
378 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
379 |
380 |             for listenerWrapper in strongSelf.stderrListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:385:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
383 |
384 |                     strongSelf.listenerQueue.async {
385 |                         strongSelf.stderrListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
386 |                     }
387 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:385:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StderrListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
383 |
384 |                     strongSelf.listenerQueue.async {
385 |                         strongSelf.stderrListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StderrListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
386 |                     }
387 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:385:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StderrListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
383 |
384 |                     strongSelf.listenerQueue.async {
385 |                         strongSelf.stderrListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StderrListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
386 |                     }
387 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:147:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
145 |         } else {
146 |             await withTaskGroup(of: Void.self) { group in
147 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
148 |                     await self.openPipeFileHandleGroup.waitAsync()
    |                           `- note: closure captures 'self' which is accessible to code in the current task
149 |                 }
150 |                 group.addTask {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:110:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
108 |         processTerminationHandlerGroup.enter()
109 |         process.terminationHandler = { [weak self] _ in
110 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
111 |
112 |             strongSelf.processTerminated()
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:118:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
116 |
117 |         listenerQueue.async { [weak self] in
118 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
119 |
120 |             for listenerWrapper in strongSelf.startListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:124:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
122 |                     guard let strongSelf = self else { return }
123 |                     strongSelf.listenerQueue.async {
124 |                         strongSelf.startListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
125 |                     }
126 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:124:74: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StartListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
122 |                     guard let strongSelf = self else { return }
123 |                     strongSelf.listenerQueue.async {
124 |                         strongSelf.startListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                          `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StartListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
125 |                     }
126 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:124:74: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StartListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
122 |                     guard let strongSelf = self else { return }
123 |                     strongSelf.listenerQueue.async {
124 |                         strongSelf.startListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                          `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StartListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
125 |                     }
126 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:170:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
168 |     public func send(signal: Int32) {
169 |         listenerQueue.async { [weak self] in
170 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
171 |
172 |             for listenerWrapper in strongSelf.signalListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:177:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
175 |
176 |                     strongSelf.listenerQueue.async {
177 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 |                     }
179 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:177:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<SignalListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Int32, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
175 |
176 |                     strongSelf.listenerQueue.async {
177 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<SignalListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Int32, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 |                     }
179 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:177:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<SignalListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Int32, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
175 |
176 |                     strongSelf.listenerQueue.async {
177 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<SignalListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Int32, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
178 |                     }
179 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:228:40: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
226 |             signalTermination(process)
227 |             processTerminationQueue.asyncAfter(deadline: .now() + terminationSignalTimeout) { [weak self] in
228 |                 guard let strongSelf = self else { return }
    |                                        `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 |                 strongSelf.forceKillProcess(onKill: onKill)
230 |             }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:229:53: warning: capture of 'onKill' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
227 |             processTerminationQueue.asyncAfter(deadline: .now() + terminationSignalTimeout) { [weak self] in
228 |                 guard let strongSelf = self else { return }
229 |                 strongSelf.forceKillProcess(onKill: onKill)
    |                                                     |- warning: capture of 'onKill' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
230 |             }
231 |         }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:244:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
242 |     private func processTerminated() {
243 |         listenerQueue.async { [weak self] in
244 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
245 |
246 |             for listenerWrapper in strongSelf.terminationListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:251:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
249 |
250 |                     strongSelf.listenerQueue.async {
251 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
252 |                     }
253 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:251:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<TerminationListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
249 |
250 |                     strongSelf.listenerQueue.async {
251 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<TerminationListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
252 |                     }
253 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:251:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<TerminationListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
249 |
250 |                     strongSelf.listenerQueue.async {
251 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<TerminationListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
252 |                     }
253 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:259:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
257 |
258 |         listenerQueue.async(flags: .barrier) { [weak self] in
259 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
260 |             strongSelf.processTerminationHandlerGroup.leave()
261 |         }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:298:17: warning: capture of 'onEndOfData' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
296 |                 pipe.fileHandleForReading.closeFile()
297 | #endif
298 |                 onEndOfData()
    |                 |- warning: capture of 'onEndOfData' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
299 |             } else {
300 |                 onNewData(data)
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:300:17: warning: capture of 'onNewData' with non-sendable type '(Data) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
298 |                 onEndOfData()
299 |             } else {
300 |                 onNewData(data)
    |                 |- warning: capture of 'onNewData' with non-sendable type '(Data) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
301 |             }
302 |         }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:318:21: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
316 |                 guard let strongSelf = self else { return }
317 |                 strongSelf.listenerQueue.async {
318 |                     strongSelf.openPipeFileHandleGroup.leave()
    |                     `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
319 |                 }
320 |             }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:335:21: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
333 |                 guard let strongSelf = self else { return }
334 |                 strongSelf.listenerQueue.async {
335 |                     strongSelf.openPipeFileHandleGroup.leave()
    |                     `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
336 |                 }
337 |             }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:361:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
359 |     private func didReceiveStdout(data: Data) {
360 |         listenerQueue.async { [weak self] in
361 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
362 |
363 |             for listenerWrapper in strongSelf.stdoutListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:368:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
366 |
367 |                     strongSelf.listenerQueue.async {
368 |                         strongSelf.stdoutListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
369 |                     }
370 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:368:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StdoutListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
366 |
367 |                     strongSelf.listenerQueue.async {
368 |                         strongSelf.stdoutListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StdoutListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
369 |                     }
370 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:368:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StdoutListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
366 |
367 |                     strongSelf.listenerQueue.async {
368 |                         strongSelf.stdoutListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StdoutListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
369 |                     }
370 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:378:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
376 |     private func didReceiveStderr(data: Data) {
377 |         listenerQueue.async { [weak self] in
378 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
379 |
380 |             for listenerWrapper in strongSelf.stderrListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:385:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
383 |
384 |                     strongSelf.listenerQueue.async {
385 |                         strongSelf.stderrListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
386 |                     }
387 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:385:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StderrListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
383 |
384 |                     strongSelf.listenerQueue.async {
385 |                         strongSelf.stderrListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StderrListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
386 |                     }
387 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:385:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StderrListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
383 |
384 |                     strongSelf.listenerQueue.async {
385 |                         strongSelf.stderrListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StderrListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
386 |                     }
387 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:147:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
145 |         } else {
146 |             await withTaskGroup(of: Void.self) { group in
147 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
148 |                     await self.openPipeFileHandleGroup.waitAsync()
    |                           `- note: closure captures 'self' which is accessible to code in the current task
149 |                 }
150 |                 group.addTask {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:110:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
108 |         processTerminationHandlerGroup.enter()
109 |         process.terminationHandler = { [weak self] _ in
110 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
111 |
112 |             strongSelf.processTerminated()
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:118:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
116 |
117 |         listenerQueue.async { [weak self] in
118 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
119 |
120 |             for listenerWrapper in strongSelf.startListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:124:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
122 |                     guard let strongSelf = self else { return }
123 |                     strongSelf.listenerQueue.async {
124 |                         strongSelf.startListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
125 |                     }
126 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:124:74: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StartListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
122 |                     guard let strongSelf = self else { return }
123 |                     strongSelf.listenerQueue.async {
124 |                         strongSelf.startListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                          `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StartListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
125 |                     }
126 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:124:74: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StartListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
122 |                     guard let strongSelf = self else { return }
123 |                     strongSelf.listenerQueue.async {
124 |                         strongSelf.startListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                          `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StartListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
125 |                     }
126 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:170:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
168 |     public func send(signal: Int32) {
169 |         listenerQueue.async { [weak self] in
170 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
171 |
172 |             for listenerWrapper in strongSelf.signalListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:177:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
175 |
176 |                     strongSelf.listenerQueue.async {
177 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 |                     }
179 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:177:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<SignalListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Int32, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
175 |
176 |                     strongSelf.listenerQueue.async {
177 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<SignalListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Int32, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
178 |                     }
179 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:177:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<SignalListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Int32, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
175 |
176 |                     strongSelf.listenerQueue.async {
177 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<SignalListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Int32, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
178 |                     }
179 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:228:40: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
226 |             signalTermination(process)
227 |             processTerminationQueue.asyncAfter(deadline: .now() + terminationSignalTimeout) { [weak self] in
228 |                 guard let strongSelf = self else { return }
    |                                        `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
229 |                 strongSelf.forceKillProcess(onKill: onKill)
230 |             }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:229:53: warning: capture of 'onKill' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
227 |             processTerminationQueue.asyncAfter(deadline: .now() + terminationSignalTimeout) { [weak self] in
228 |                 guard let strongSelf = self else { return }
229 |                 strongSelf.forceKillProcess(onKill: onKill)
    |                                                     |- warning: capture of 'onKill' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
230 |             }
231 |         }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:244:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
242 |     private func processTerminated() {
243 |         listenerQueue.async { [weak self] in
244 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
245 |
246 |             for listenerWrapper in strongSelf.terminationListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:251:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
249 |
250 |                     strongSelf.listenerQueue.async {
251 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
252 |                     }
253 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:251:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<TerminationListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
249 |
250 |                     strongSelf.listenerQueue.async {
251 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<TerminationListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
252 |                     }
253 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:251:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<TerminationListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
249 |
250 |                     strongSelf.listenerQueue.async {
251 |                         strongSelf.signalListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<TerminationListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
252 |                     }
253 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:259:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
257 |
258 |         listenerQueue.async(flags: .barrier) { [weak self] in
259 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
260 |             strongSelf.processTerminationHandlerGroup.leave()
261 |         }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:298:17: warning: capture of 'onEndOfData' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
296 |                 pipe.fileHandleForReading.closeFile()
297 | #endif
298 |                 onEndOfData()
    |                 |- warning: capture of 'onEndOfData' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
299 |             } else {
300 |                 onNewData(data)
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:300:17: warning: capture of 'onNewData' with non-sendable type '(Data) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
298 |                 onEndOfData()
299 |             } else {
300 |                 onNewData(data)
    |                 |- warning: capture of 'onNewData' with non-sendable type '(Data) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
301 |             }
302 |         }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:318:21: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
316 |                 guard let strongSelf = self else { return }
317 |                 strongSelf.listenerQueue.async {
318 |                     strongSelf.openPipeFileHandleGroup.leave()
    |                     `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
319 |                 }
320 |             }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:335:21: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
333 |                 guard let strongSelf = self else { return }
334 |                 strongSelf.listenerQueue.async {
335 |                     strongSelf.openPipeFileHandleGroup.leave()
    |                     `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
336 |                 }
337 |             }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:361:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
359 |     private func didReceiveStdout(data: Data) {
360 |         listenerQueue.async { [weak self] in
361 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
362 |
363 |             for listenerWrapper in strongSelf.stdoutListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:368:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
366 |
367 |                     strongSelf.listenerQueue.async {
368 |                         strongSelf.stdoutListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
369 |                     }
370 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:368:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StdoutListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
366 |
367 |                     strongSelf.listenerQueue.async {
368 |                         strongSelf.stdoutListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StdoutListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
369 |                     }
370 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:368:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StdoutListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
366 |
367 |                     strongSelf.listenerQueue.async {
368 |                         strongSelf.stdoutListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StdoutListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
369 |                     }
370 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:378:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
376 |     private func didReceiveStderr(data: Data) {
377 |         listenerQueue.async { [weak self] in
378 |             guard let strongSelf = self else { return }
    |                                    `- warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
379 |
380 |             for listenerWrapper in strongSelf.stderrListeners {
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:385:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  8 | // swiftlint:disable async
  9 | // swiftlint:disable sync
 10 | public final class DefaultProcessController: ProcessController, CustomStringConvertible {
    |                    `- note: class 'DefaultProcessController' does not conform to the 'Sendable' protocol
 11 |     public let subprocess: Subprocess
 12 |     public let processName: String
    :
383 |
384 |                     strongSelf.listenerQueue.async {
385 |                         strongSelf.stderrListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure; this is an error in the Swift 6 language mode
386 |                     }
387 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:385:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StderrListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
383 |
384 |                     strongSelf.listenerQueue.async {
385 |                         strongSelf.stderrListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StderrListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
386 |                     }
387 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:385:75: warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StderrListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 29 |     private var terminationListeners = [ListenerWrapper<TerminationListener>]()
 30 |
 31 |     private final class ListenerWrapper<T>: CustomStringConvertible {
    |                         `- note: generic class 'ListenerWrapper' does not conform to the 'Sendable' protocol
 32 |         let uuid: UUID
 33 |         let purpose: String
    :
383 |
384 |                     strongSelf.listenerQueue.async {
385 |                         strongSelf.stderrListeners.removeAll { $0.uuid == listenerWrapper.uuid }
    |                                                                           `- warning: capture of 'listenerWrapper' with non-sendable type 'DefaultProcessController.ListenerWrapper<StderrListener>' (aka 'DefaultProcessController.ListenerWrapper<(any ProcessController, Data, @escaping () -> ()) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
386 |                     }
387 |                 }
/host/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:147:31: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
145 |         } else {
146 |             await withTaskGroup(of: Void.self) { group in
147 |                 group.addTask {
    |                               `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
148 |                     await self.openPipeFileHandleGroup.waitAsync()
    |                           `- note: closure captures 'self' which is accessible to code in the current task
149 |                 }
150 |                 group.addTask {
[645/650] Compiling ArgumentParser AsyncCompletionsValidator.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[646/650] Compiling ArgumentParser CodingKeyValidator.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[647/650] Compiling ArgumentParser NonsenseFlagsValidator.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[648/650] Compiling ArgumentParser ParsableArgumentsValidation.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[649/650] Compiling ArgumentParser PositionalArgumentsValidator.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[650/650] Compiling ArgumentParser UniqueNamesValidator.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
[652/697] Compiling CommandSupport AsyncCommandLogicProvider.swift
[653/697] Compiling CommandSupport BaseCommand.swift
[654/698] Compiling CommandSupport CommandDiValidator.swift
[655/698] Compiling CommandSupport CommandLogic.swift
[656/698] Compiling CommandSupport AbsolutePath+ExpressibleByArgument.swift
[657/698] Compiling CommandSupport AsyncCommandLogic.swift
/host/spi-builder-workspace/Sources/CLTLogging/AggregatedLoggerHandler.swift:36:17: warning: capture of 'handler' with non-sendable type 'any LoggerHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
34 |         for handler in allHandlers_safe {
35 |             syncQueue.async {
36 |                 handler.tearDownLogging(timeout: timeout)
   |                 `- warning: capture of 'handler' with non-sendable type 'any LoggerHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
37 |             }
38 |         }
/host/spi-builder-workspace/Sources/CLTLogging/LoggerHandler.swift:8:17: note: protocol 'LoggerHandler' does not conform to the 'Sendable' protocol
 6 | import Foundation
 7 |
 8 | public protocol LoggerHandler {
   |                 `- note: protocol 'LoggerHandler' does not conform to the 'Sendable' protocol
 9 |     func handle(logEntry: LogEntry)
10 |     func tearDownLogging(timeout: TimeInterval)
/host/spi-builder-workspace/Sources/CLTLogging/AggregatedLoggerHandler.swift:36:17: warning: capture of 'handler' with non-sendable type 'any LoggerHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
34 |         for handler in allHandlers_safe {
35 |             syncQueue.async {
36 |                 handler.tearDownLogging(timeout: timeout)
   |                 `- warning: capture of 'handler' with non-sendable type 'any LoggerHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
37 |             }
38 |         }
/host/spi-builder-workspace/Sources/CLTLogging/LoggerHandler.swift:8:17: note: protocol 'LoggerHandler' does not conform to the 'Sendable' protocol
 6 | import Foundation
 7 |
 8 | public protocol LoggerHandler {
   |                 `- note: protocol 'LoggerHandler' does not conform to the 'Sendable' protocol
 9 |     func handle(logEntry: LogEntry)
10 |     func tearDownLogging(timeout: TimeInterval)
[660/698] Compiling CommandSupport CommandLogicProvider.swift
/host/spi-builder-workspace/Sources/CLTLogging/AggregatedLoggerHandler.swift:36:17: warning: capture of 'handler' with non-sendable type 'any LoggerHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
34 |         for handler in allHandlers_safe {
35 |             syncQueue.async {
36 |                 handler.tearDownLogging(timeout: timeout)
   |                 `- warning: capture of 'handler' with non-sendable type 'any LoggerHandler' in a '@Sendable' closure; this is an error in the Swift 6 language mode
37 |             }
38 |         }
/host/spi-builder-workspace/Sources/CLTLogging/LoggerHandler.swift:8:17: note: protocol 'LoggerHandler' does not conform to the 'Sendable' protocol
 6 | import Foundation
 7 |
 8 | public protocol LoggerHandler {
   |                 `- note: protocol 'LoggerHandler' does not conform to the 'Sendable' protocol
 9 |     func handle(logEntry: LogEntry)
10 |     func tearDownLogging(timeout: TimeInterval)
[661/698] Emitting module RepoRoot
/host/spi-builder-workspace/Sources/CommandSupport/AbsolutePath+ExpressibleByArgument.swift:11:23: warning: static property 'defaultCompletionKind' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |     }
10 |
11 |     public static var defaultCompletionKind: CompletionKind = .file()
   |                       |- warning: static property 'defaultCompletionKind' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'defaultCompletionKind' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: add '@MainActor' to make static property 'defaultCompletionKind' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 |     public var defaultValueDescription: String { "Абсолютный путь" }
/host/spi-builder-workspace/Sources/CommandSupport/AbsolutePath+ExpressibleByArgument.swift:11:23: warning: static property 'defaultCompletionKind' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |     }
10 |
11 |     public static var defaultCompletionKind: CompletionKind = .file()
   |                       |- warning: static property 'defaultCompletionKind' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'defaultCompletionKind' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: add '@MainActor' to make static property 'defaultCompletionKind' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 |     public var defaultValueDescription: String { "Абсолютный путь" }
[668/701] Compiling CommandSupport ParsableCommand+pathFromRootCommand.swift
[669/701] Emitting module CommandSupport
/host/spi-builder-workspace/Sources/CommandSupport/AbsolutePath+ExpressibleByArgument.swift:11:23: warning: static property 'defaultCompletionKind' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |     }
10 |
11 |     public static var defaultCompletionKind: CompletionKind = .file()
   |                       |- warning: static property 'defaultCompletionKind' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'defaultCompletionKind' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: add '@MainActor' to make static property 'defaultCompletionKind' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 |     public var defaultValueDescription: String { "Абсолютный путь" }
/host/spi-builder-workspace/Sources/CommandSupport/LogOptionsCommand.swift:53:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ParsableCommandLogConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
 42 | }
 43 |
 44 | public struct ParsableCommandLogConfiguration {
    |               `- note: consider making struct 'ParsableCommandLogConfiguration' conform to the 'Sendable' protocol
 45 |     public init(consoleBacking: LogHandler?, additionalSystem: [LogHandler]) {
 46 |         self.consoleBacking = consoleBacking
    :
 51 |     let additionalSystem: [LogHandler]
 52 |
 53 |     public static let `default` = ParsableCommandLogConfiguration(consoleBacking: nil, additionalSystem: [])
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ParsableCommandLogConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 | }
 55 |
[670/701] Compiling ProcessControllerTestHelpers FakeProcessControllerProvider.swift
[671/701] Emitting module ProcessControllerTestHelpers
[672/701] Compiling CommandSupport CompoundAsyncCommandLogic.swift
[673/701] Compiling CLTLogging FileSystem+Logging.swift
[674/701] Compiling ProcessControllerTestHelpers FakeProcessController.swift
[675/701] Compiling RepoRoot CurrentExecutableRepoRootProvider.swift
[676/701] Compiling RepoRoot GitRepoRootProvider.swift
[677/701] Compiling RepoRoot MarkerFileRepoRootProvider.swift
[682/701] Compiling Cloc Cloc.swift
[683/701] Emitting module Cloc
[684/701] Compiling Cloc ClocTool.swift
[687/702] Compiling CommandSupport CompoundCommandLogic.swift
[688/702] Compiling CommandSupport LogOptionsCommand.swift
/host/spi-builder-workspace/Sources/CommandSupport/LogOptionsCommand.swift:53:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ParsableCommandLogConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
 42 | }
 43 |
 44 | public struct ParsableCommandLogConfiguration {
    |               `- note: consider making struct 'ParsableCommandLogConfiguration' conform to the 'Sendable' protocol
 45 |     public init(consoleBacking: LogHandler?, additionalSystem: [LogHandler]) {
 46 |         self.consoleBacking = consoleBacking
    :
 51 |     let additionalSystem: [LogHandler]
 52 |
 53 |     public static let `default` = ParsableCommandLogConfiguration(consoleBacking: nil, additionalSystem: [])
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'ParsableCommandLogConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 54 | }
 55 |
/host/spi-builder-workspace/Sources/CommandSupport/LogOptionsCommand.swift:101:33: warning: capture of 'systemLogHandlerFactory' with non-sendable type '(String) -> [any LogHandler]' in a '@Sendable' closure
 99 |
100 |         LoggingSystem.bootstrap { label in
101 |             MultiplexLogHandler(systemLogHandlerFactory(label))
    |                                 |- warning: capture of 'systemLogHandlerFactory' with non-sendable type '(String) -> [any LogHandler]' in a '@Sendable' closure
    |                                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
102 |         }
103 |
[689/702] Compiling CLTLogging RedirectingLoggerHandler.swift
[690/702] Compiling CLTLogging SubprocessInfo+PidInfo.swift
[691/703] Compiling RepoRoot WorkdirRepoRootProvider.swift
[692/704] Compiling CommandSupport TestableCommand.swift
[695/705] Emitting module CLTLogging
/host/spi-builder-workspace/Sources/CLTLogging/ContextualLogger.swift:52:23: warning: static property 'noOp' is not concurrency-safe because non-'Sendable' type 'ContextualLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 21 | /// `process executor` will again append its own metadata and use new instance to log its stuff.
 22 | /// This way metadata can be derived between layers of software, extending it where needed, and still allowing layers to log data with its set of metadata without being affected by other layers.
 23 | public final class ContextualLogger {
    |                    `- note: class 'ContextualLogger' does not conform to the 'Sendable' protocol
 24 |     private let dateProvider: DateProvider
 25 |     private let loggerHandler: LoggerHandler
    :
 50 |     }
 51 |
 52 |     public static let noOp: ContextualLogger = ContextualLogger(
    |                       |- warning: static property 'noOp' is not concurrency-safe because non-'Sendable' type 'ContextualLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'noOp' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 53 |         dateProvider: SystemDateProvider(),
 54 |         loggerHandler: AggregatedLoggerHandler(handlers: []),
/host/spi-builder-workspace/Sources/CLTLogging/ContextualLogger.swift:52:23: warning: static property 'noOp' is not concurrency-safe because non-'Sendable' type 'ContextualLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 21 | /// `process executor` will again append its own metadata and use new instance to log its stuff.
 22 | /// This way metadata can be derived between layers of software, extending it where needed, and still allowing layers to log data with its set of metadata without being affected by other layers.
 23 | public final class ContextualLogger {
    |                    `- note: class 'ContextualLogger' does not conform to the 'Sendable' protocol
 24 |     private let dateProvider: DateProvider
 25 |     private let loggerHandler: LoggerHandler
    :
 50 |     }
 51 |
 52 |     public static let noOp: ContextualLogger = ContextualLogger(
    |                       |- warning: static property 'noOp' is not concurrency-safe because non-'Sendable' type 'ContextualLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'noOp' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 53 |         dateProvider: SystemDateProvider(),
 54 |         loggerHandler: AggregatedLoggerHandler(handlers: []),
/host/spi-builder-workspace/Sources/CLTLogging/ContextualLogger.swift:52:23: warning: static property 'noOp' is not concurrency-safe because non-'Sendable' type 'ContextualLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 21 | /// `process executor` will again append its own metadata and use new instance to log its stuff.
 22 | /// This way metadata can be derived between layers of software, extending it where needed, and still allowing layers to log data with its set of metadata without being affected by other layers.
 23 | public final class ContextualLogger {
    |                    `- note: class 'ContextualLogger' does not conform to the 'Sendable' protocol
 24 |     private let dateProvider: DateProvider
 25 |     private let loggerHandler: LoggerHandler
    :
 50 |     }
 51 |
 52 |     public static let noOp: ContextualLogger = ContextualLogger(
    |                       |- warning: static property 'noOp' is not concurrency-safe because non-'Sendable' type 'ContextualLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'noOp' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 53 |         dateProvider: SystemDateProvider(),
 54 |         loggerHandler: AggregatedLoggerHandler(handlers: []),
[700/705] Compiling CLTLogging KibanaHandler.swift
[701/705] Compiling CLTLogging LimitingLoggerHandler.swift
[702/705] Compiling CLTLogging LoggingSetup.swift
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:140:21: warning: capture of 'logsEnumerator' with non-sendable type 'any FileSystemEnumerator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
138 |         queue.addOperation {
139 |             do {
140 |                 try logsEnumerator.each { (path: AbsolutePath) in
    |                     `- warning: capture of 'logsEnumerator' with non-sendable type 'any FileSystemEnumerator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
141 |                     guard path.extension == self.logFileExtension else { return }
142 |                     let modificationDate = try self.fileSystem.properties(path: path).modificationDate.get()
/host/spi-builder-workspace/Sources/FileSystem/Files/Enumeration/FileSystemEnumerator.swift:4:17: note: protocol 'FileSystemEnumerator' does not conform to the 'Sendable' protocol
 2 | import PathLib
 3 |
 4 | public protocol FileSystemEnumerator {
   |                 `- note: protocol 'FileSystemEnumerator' does not conform to the 'Sendable' protocol
 5 |     func each(iterator: (AbsolutePath) throws -> ()) throws
 6 | }
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:7:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FileSystem'
  5 | import DateProvider
  6 | import Dispatch
  7 | import FileSystem
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FileSystem'
  8 | import CLTLoggingModels
  9 | import Foundation
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:141:45: warning: capture of 'self' with non-sendable type 'LoggingSetup' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 13 | import Tmp
 14 |
 15 | public final class LoggingSetup {
    |                    `- note: class 'LoggingSetup' does not conform to the 'Sendable' protocol
 16 |     private let dateProvider: DateProvider
 17 |     private let fileSystem: FileSystem
    :
139 |             do {
140 |                 try logsEnumerator.each { (path: AbsolutePath) in
141 |                     guard path.extension == self.logFileExtension else { return }
    |                                             `- warning: capture of 'self' with non-sendable type 'LoggingSetup' in a '@Sendable' closure; this is an error in the Swift 6 language mode
142 |                     let modificationDate = try self.fileSystem.properties(path: path).modificationDate.get()
143 |                     if modificationDate < date {
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:147:29: warning: capture of 'logger' with non-sendable type 'ContextualLogger' in a '@Sendable' closure; this is an error in the Swift 6 language mode
145 |                             try self.fileSystem.delete(path: path)
146 |                         } catch {
147 |                             logger.error("Failed to remove old log file at \(path): \(error)")
    |                             `- warning: capture of 'logger' with non-sendable type 'ContextualLogger' in a '@Sendable' closure; this is an error in the Swift 6 language mode
148 |                         }
149 |                     }
/host/spi-builder-workspace/Sources/CLTLogging/ContextualLogger.swift:23:20: note: class 'ContextualLogger' does not conform to the 'Sendable' protocol
 21 | /// `process executor` will again append its own metadata and use new instance to log its stuff.
 22 | /// This way metadata can be derived between layers of software, extending it where needed, and still allowing layers to log data with its set of metadata without being affected by other layers.
 23 | public final class ContextualLogger {
    |                    `- note: class 'ContextualLogger' does not conform to the 'Sendable' protocol
 24 |     private let dateProvider: DateProvider
 25 |     private let loggerHandler: LoggerHandler
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:151:17: warning: capture of 'completion' with non-sendable type '((any Error)?) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 |                     }
150 |                 }
151 |                 completion(nil)
    |                 |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
152 |             } catch {
153 |                 completion(error)
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:141:45: warning: capture of 'self' with non-sendable type 'LoggingSetup' in an isolated closure; this is an error in the Swift 6 language mode
 13 | import Tmp
 14 |
 15 | public final class LoggingSetup {
    |                    `- note: class 'LoggingSetup' does not conform to the 'Sendable' protocol
 16 |     private let dateProvider: DateProvider
 17 |     private let fileSystem: FileSystem
    :
139 |             do {
140 |                 try logsEnumerator.each { (path: AbsolutePath) in
141 |                     guard path.extension == self.logFileExtension else { return }
    |                                             `- warning: capture of 'self' with non-sendable type 'LoggingSetup' in an isolated closure; this is an error in the Swift 6 language mode
142 |                     let modificationDate = try self.fileSystem.properties(path: path).modificationDate.get()
143 |                     if modificationDate < date {
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:147:29: warning: capture of 'logger' with non-sendable type 'ContextualLogger' in an isolated closure; this is an error in the Swift 6 language mode
145 |                             try self.fileSystem.delete(path: path)
146 |                         } catch {
147 |                             logger.error("Failed to remove old log file at \(path): \(error)")
    |                             `- warning: capture of 'logger' with non-sendable type 'ContextualLogger' in an isolated closure; this is an error in the Swift 6 language mode
148 |                         }
149 |                     }
/host/spi-builder-workspace/Sources/CLTLogging/ContextualLogger.swift:23:20: note: class 'ContextualLogger' does not conform to the 'Sendable' protocol
 21 | /// `process executor` will again append its own metadata and use new instance to log its stuff.
 22 | /// This way metadata can be derived between layers of software, extending it where needed, and still allowing layers to log data with its set of metadata without being affected by other layers.
 23 | public final class ContextualLogger {
    |                    `- note: class 'ContextualLogger' does not conform to the 'Sendable' protocol
 24 |     private let dateProvider: DateProvider
 25 |     private let loggerHandler: LoggerHandler
[703/705] Compiling CLTLogging NoOpLoggerHandler.swift
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:140:21: warning: capture of 'logsEnumerator' with non-sendable type 'any FileSystemEnumerator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
138 |         queue.addOperation {
139 |             do {
140 |                 try logsEnumerator.each { (path: AbsolutePath) in
    |                     `- warning: capture of 'logsEnumerator' with non-sendable type 'any FileSystemEnumerator' in a '@Sendable' closure; this is an error in the Swift 6 language mode
141 |                     guard path.extension == self.logFileExtension else { return }
142 |                     let modificationDate = try self.fileSystem.properties(path: path).modificationDate.get()
/host/spi-builder-workspace/Sources/FileSystem/Files/Enumeration/FileSystemEnumerator.swift:4:17: note: protocol 'FileSystemEnumerator' does not conform to the 'Sendable' protocol
 2 | import PathLib
 3 |
 4 | public protocol FileSystemEnumerator {
   |                 `- note: protocol 'FileSystemEnumerator' does not conform to the 'Sendable' protocol
 5 |     func each(iterator: (AbsolutePath) throws -> ()) throws
 6 | }
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:7:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FileSystem'
  5 | import DateProvider
  6 | import Dispatch
  7 | import FileSystem
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FileSystem'
  8 | import CLTLoggingModels
  9 | import Foundation
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:141:45: warning: capture of 'self' with non-sendable type 'LoggingSetup' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 13 | import Tmp
 14 |
 15 | public final class LoggingSetup {
    |                    `- note: class 'LoggingSetup' does not conform to the 'Sendable' protocol
 16 |     private let dateProvider: DateProvider
 17 |     private let fileSystem: FileSystem
    :
139 |             do {
140 |                 try logsEnumerator.each { (path: AbsolutePath) in
141 |                     guard path.extension == self.logFileExtension else { return }
    |                                             `- warning: capture of 'self' with non-sendable type 'LoggingSetup' in a '@Sendable' closure; this is an error in the Swift 6 language mode
142 |                     let modificationDate = try self.fileSystem.properties(path: path).modificationDate.get()
143 |                     if modificationDate < date {
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:147:29: warning: capture of 'logger' with non-sendable type 'ContextualLogger' in a '@Sendable' closure; this is an error in the Swift 6 language mode
145 |                             try self.fileSystem.delete(path: path)
146 |                         } catch {
147 |                             logger.error("Failed to remove old log file at \(path): \(error)")
    |                             `- warning: capture of 'logger' with non-sendable type 'ContextualLogger' in a '@Sendable' closure; this is an error in the Swift 6 language mode
148 |                         }
149 |                     }
/host/spi-builder-workspace/Sources/CLTLogging/ContextualLogger.swift:23:20: note: class 'ContextualLogger' does not conform to the 'Sendable' protocol
 21 | /// `process executor` will again append its own metadata and use new instance to log its stuff.
 22 | /// This way metadata can be derived between layers of software, extending it where needed, and still allowing layers to log data with its set of metadata without being affected by other layers.
 23 | public final class ContextualLogger {
    |                    `- note: class 'ContextualLogger' does not conform to the 'Sendable' protocol
 24 |     private let dateProvider: DateProvider
 25 |     private let loggerHandler: LoggerHandler
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:151:17: warning: capture of 'completion' with non-sendable type '((any Error)?) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
149 |                     }
150 |                 }
151 |                 completion(nil)
    |                 |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
152 |             } catch {
153 |                 completion(error)
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:141:45: warning: capture of 'self' with non-sendable type 'LoggingSetup' in an isolated closure; this is an error in the Swift 6 language mode
 13 | import Tmp
 14 |
 15 | public final class LoggingSetup {
    |                    `- note: class 'LoggingSetup' does not conform to the 'Sendable' protocol
 16 |     private let dateProvider: DateProvider
 17 |     private let fileSystem: FileSystem
    :
139 |             do {
140 |                 try logsEnumerator.each { (path: AbsolutePath) in
141 |                     guard path.extension == self.logFileExtension else { return }
    |                                             `- warning: capture of 'self' with non-sendable type 'LoggingSetup' in an isolated closure; this is an error in the Swift 6 language mode
142 |                     let modificationDate = try self.fileSystem.properties(path: path).modificationDate.get()
143 |                     if modificationDate < date {
/host/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:147:29: warning: capture of 'logger' with non-sendable type 'ContextualLogger' in an isolated closure; this is an error in the Swift 6 language mode
145 |                             try self.fileSystem.delete(path: path)
146 |                         } catch {
147 |                             logger.error("Failed to remove old log file at \(path): \(error)")
    |                             `- warning: capture of 'logger' with non-sendable type 'ContextualLogger' in an isolated closure; this is an error in the Swift 6 language mode
148 |                         }
149 |                     }
/host/spi-builder-workspace/Sources/CLTLogging/ContextualLogger.swift:23:20: note: class 'ContextualLogger' does not conform to the 'Sendable' protocol
 21 | /// `process executor` will again append its own metadata and use new instance to log its stuff.
 22 | /// This way metadata can be derived between layers of software, extending it where needed, and still allowing layers to log data with its set of metadata without being affected by other layers.
 23 | public final class ContextualLogger {
    |                    `- note: class 'ContextualLogger' does not conform to the 'Sendable' protocol
 24 |     private let dateProvider: DateProvider
 25 |     private let loggerHandler: LoggerHandler
[704/705] Compiling CLTLogging Logger+TypedInit.swift
[705/705] Compiling CLTLogging LoggerHandler.swift
[707/709] Compiling CLTLoggingTestHelpers LogEntryFixture.swift
[708/709] Compiling CLTLoggingTestHelpers FakeLoggerHandler.swift
[709/709] Emitting module CLTLoggingTestHelpers
Build complete! (35.56s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "alamofire",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.5.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Alamofire/Alamofire"
    },
    {
      "identity" : "bluesignals",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.21",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/IBM-Swift/BlueSignals.git"
    },
    {
      "identity" : "bluesocket",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.52",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Kitura/BlueSocket.git"
    },
    {
      "identity" : "glob",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.5",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Bouke/Glob"
    },
    {
      "identity" : "yams",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.0.6",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/jpsim/Yams.git"
    },
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.3",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    },
    {
      "identity" : "swift-snapshot-testing",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.17.4",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/pointfreeco/swift-snapshot-testing.git"
    }
  ],
  "manifest_display_name" : "CommandLineToolkit",
  "name" : "CommandLineToolkit",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "AtomicModels",
      "targets" : [
        "AtomicModels"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CLTCollections",
      "targets" : [
        "CLTCollections"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CLTExtensions",
      "targets" : [
        "CLTExtensions"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CLTLogging",
      "targets" : [
        "CLTLogging"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CLTLoggingModels",
      "targets" : [
        "CLTLoggingModels"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CLTLoggingTestHelpers",
      "targets" : [
        "CLTLoggingTestHelpers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CLTTypes",
      "targets" : [
        "CLTTypes"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Cloc",
      "targets" : [
        "Cloc"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CommandSupport",
      "targets" : [
        "CommandSupport"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Concurrency",
      "targets" : [
        "Concurrency"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Console",
      "targets" : [
        "Console"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ConsoleTestHelpers",
      "targets" : [
        "ConsoleTestHelpers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "DI",
      "targets" : [
        "DI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "DateProvider",
      "targets" : [
        "DateProvider"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "DateProviderTestHelpers",
      "targets" : [
        "DateProviderTestHelpers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Downloader",
      "targets" : [
        "Downloader"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Environment",
      "targets" : [
        "Environment"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "FileSystem",
      "targets" : [
        "FileSystem"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "FileSystemTestHelpers",
      "targets" : [
        "FileSystemTestHelpers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Graphite",
      "targets" : [
        "Graphite"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "GraphiteTestHelpers",
      "targets" : [
        "GraphiteTestHelpers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ImagesInterfaces",
      "targets" : [
        "ImagesInterfaces"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ImagesTestHelpers",
      "targets" : [
        "ImagesTestHelpers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "JSONStream",
      "targets" : [
        "JSONStream"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Kibana",
      "targets" : [
        "Kibana"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KibanaModels",
      "targets" : [
        "KibanaModels"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KibanaTestHelpers",
      "targets" : [
        "KibanaTestHelpers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "LaunchdUtils",
      "targets" : [
        "LaunchdUtils"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MetricsRecording",
      "targets" : [
        "MetricsRecording"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MetricsTestHelpers",
      "targets" : [
        "MetricsTestHelpers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MetricsUtils",
      "targets" : [
        "MetricsUtils"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "PathLib",
      "targets" : [
        "PathLib"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "PlistLib",
      "targets" : [
        "PlistLib"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ProcessController",
      "targets" : [
        "ProcessController"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ProcessControllerTestHelpers",
      "targets" : [
        "ProcessControllerTestHelpers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "RepoRoot",
      "targets" : [
        "RepoRoot"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SignalHandling",
      "targets" : [
        "SignalHandling"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SocketModels",
      "targets" : [
        "SocketModels"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Statsd",
      "targets" : [
        "Statsd"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SynchronousWaiter",
      "targets" : [
        "SynchronousWaiter"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TeamcityMessaging",
      "targets" : [
        "TeamcityMessaging"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TestHelpers",
      "targets" : [
        "TestHelpers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Timer",
      "targets" : [
        "Timer"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Tmp",
      "targets" : [
        "Tmp"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TmpTestHelpers",
      "targets" : [
        "TmpTestHelpers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Types",
      "targets" : [
        "Types"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "URLSessionTestHelpers",
      "targets" : [
        "URLSessionTestHelpers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "UserDefaultsLib",
      "targets" : [
        "UserDefaultsLib"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "UserDefaultsLibTestHelpers",
      "targets" : [
        "UserDefaultsLibTestHelpers"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Waitable",
      "targets" : [
        "Waitable"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "XcodeLocator",
      "targets" : [
        "XcodeLocator"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "XcodeLocatorModels",
      "targets" : [
        "XcodeLocatorModels"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "XcodeLocatorTests",
      "module_type" : "SwiftTarget",
      "name" : "XcodeLocatorTests",
      "path" : "Tests/XcodeLocatorTests",
      "sources" : [
        "XcodeLocatorTests.swift"
      ],
      "target_dependencies" : [
        "FileSystem",
        "FileSystemTestHelpers",
        "PlistLib",
        "TestHelpers",
        "TmpTestHelpers",
        "XcodeLocator",
        "XcodeLocatorModels"
      ],
      "type" : "test"
    },
    {
      "c99name" : "XcodeLocatorModels",
      "module_type" : "SwiftTarget",
      "name" : "XcodeLocatorModels",
      "path" : "Sources/XcodeLocatorModels",
      "product_memberships" : [
        "XcodeLocator",
        "XcodeLocatorModels"
      ],
      "sources" : [
        "DiscoveredXcode.swift"
      ],
      "target_dependencies" : [
        "PathLib"
      ],
      "type" : "library"
    },
    {
      "c99name" : "XcodeLocator",
      "module_type" : "SwiftTarget",
      "name" : "XcodeLocator",
      "path" : "Sources/XcodeLocator",
      "product_memberships" : [
        "XcodeLocator"
      ],
      "sources" : [
        "ApplicationPathsProvider/ApplicationPathsProvider.swift",
        "ApplicationPathsProvider/ApplicationPathsProviderImpl.swift",
        "ApplicationPlistReader/ApplicationPlistReader.swift",
        "ApplicationPlistReader/ApplicationPlistReaderImpl.swift",
        "DI/XcodeLocatorModuleDependencies.swift",
        "XcodeApplicationVerifier/XcodeApplicationVerifier.swift",
        "XcodeApplicationVerifier/XcodeApplicationVerifierImpl.swift",
        "XcodeLocator/XcodeLocator.swift",
        "XcodeLocator/XcodeLocatorImpl.swift"
      ],
      "target_dependencies" : [
        "CLTExtensions",
        "DI",
        "FileSystem",
        "PathLib",
        "PlistLib",
        "XcodeLocatorModels"
      ],
      "type" : "library"
    },
    {
      "c99name" : "WaitableTests",
      "module_type" : "SwiftTarget",
      "name" : "WaitableTests",
      "path" : "Tests/WaitableTests",
      "sources" : [
        "WaitableTests.swift"
      ],
      "target_dependencies" : [
        "Waitable"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Waitable",
      "module_type" : "SwiftTarget",
      "name" : "Waitable",
      "path" : "Sources/Waitable",
      "product_memberships" : [
        "Waitable"
      ],
      "sources" : [
        "Waitable.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "UserDefaultsLibTestHelpers",
      "module_type" : "SwiftTarget",
      "name" : "UserDefaultsLibTestHelpers",
      "path" : "Tests/UserDefaultsLibTestHelpers",
      "product_memberships" : [
        "UserDefaultsLibTestHelpers"
      ],
      "sources" : [
        "FakeDefaults.swift"
      ],
      "target_dependencies" : [
        "PlistLib",
        "UserDefaultsLib"
      ],
      "type" : "library"
    },
    {
      "c99name" : "UserDefaultsLib",
      "module_type" : "SwiftTarget",
      "name" : "UserDefaultsLib",
      "path" : "Sources/UserDefaultsLib",
      "product_memberships" : [
        "UserDefaultsLib",
        "UserDefaultsLibTestHelpers"
      ],
      "sources" : [
        "Defaults.swift",
        "SystemDefaults.swift"
      ],
      "target_dependencies" : [
        "PlistLib"
      ],
      "type" : "library"
    },
    {
      "c99name" : "URLSessionTestHelpers",
      "module_type" : "SwiftTarget",
      "name" : "URLSessionTestHelpers",
      "path" : "Tests/URLSessionTestHelpers",
      "product_memberships" : [
        "URLSessionTestHelpers"
      ],
      "sources" : [
        "FakeURLSession.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TypesTests",
      "module_type" : "SwiftTarget",
      "name" : "TypesTests",
      "path" : "Tests/TypesTests",
      "sources" : [
        "EitherTests.swift"
      ],
      "target_dependencies" : [
        "Types"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Types",
      "module_type" : "SwiftTarget",
      "name" : "Types",
      "path" : "Sources/Types",
      "product_memberships" : [
        "CLTCollections",
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Cloc",
        "CommandSupport",
        "Console",
        "ConsoleTestHelpers",
        "FileSystem",
        "FileSystemTestHelpers",
        "Graphite",
        "GraphiteTestHelpers",
        "Kibana",
        "KibanaTestHelpers",
        "MetricsRecording",
        "MetricsTestHelpers",
        "PlistLib",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot",
        "SignalHandling",
        "SocketModels",
        "Statsd",
        "Types",
        "UserDefaultsLib",
        "UserDefaultsLibTestHelpers",
        "XcodeLocator"
      ],
      "sources" : [
        "CompoundError.swift",
        "CustomOrDefault.swift",
        "Either.swift",
        "MapWithCollection.swift",
        "MutableBox.swift",
        "NewIntType.swift",
        "NewStringType.swift",
        "ThrowingProperty/GettableThrowingProperty.swift",
        "ThrowingProperty/GettableThrowingPropertyOf.swift",
        "ThrowingProperty/SettableThrowingProperty.swift",
        "ThrowingProperty/SettableThrowingPropertyOf.swift",
        "ThrowingProperty/ThrowingProperty.swift",
        "ThrowingProperty/ThrowingPropertyOf.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TmpTestHelpers",
      "module_type" : "SwiftTarget",
      "name" : "TmpTestHelpers",
      "path" : "Tests/TmpTestHelpers",
      "product_memberships" : [
        "TmpTestHelpers"
      ],
      "sources" : [
        "TmpFixtures.swift"
      ],
      "target_dependencies" : [
        "TestHelpers",
        "Tmp"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Tmp",
      "module_type" : "SwiftTarget",
      "name" : "Tmp",
      "path" : "Sources/Tmp",
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Cloc",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot",
        "Tmp",
        "TmpTestHelpers"
      ],
      "sources" : [
        "TempErrors.swift",
        "TemporaryFile.swift",
        "TemporaryFolder.swift"
      ],
      "target_dependencies" : [
        "CLTExtensions",
        "PathLib"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Timer",
      "module_type" : "SwiftTarget",
      "name" : "Timer",
      "path" : "Sources/Timer",
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Cloc",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot",
        "Timer"
      ],
      "sources" : [
        "DispatchBasedTimer.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TestHelpers",
      "module_type" : "SwiftTarget",
      "name" : "TestHelpers",
      "path" : "Tests/TestHelpers",
      "product_memberships" : [
        "TestHelpers",
        "TmpTestHelpers"
      ],
      "sources" : [
        "AssertFalse.swift",
        "AssertTrue.swift",
        "Casting.swift",
        "Equals.swift",
        "ErrorForTestingPurposes.swift",
        "ExpectationAwaitingError.swift",
        "ExpectationCreation.swift",
        "NilHelpers.swift",
        "PreventingExecutionAfterFailure.swift",
        "TestFailing.swift",
        "ThrowingHelpers.swift",
        "ValueOf.swift",
        "XCTestCase+Syncronious.swift",
        "XCTestCase+WaitForExpectation.swift",
        "XCTestCase+XCTAssertEqualSorted.swift",
        "XCTestCase+testDirectory.swift"
      ],
      "target_dependencies" : [
        "AtomicModels",
        "CLTExtensions",
        "PathLib"
      ],
      "type" : "library"
    },
    {
      "c99name" : "TemporaryStuffTests",
      "module_type" : "SwiftTarget",
      "name" : "TemporaryStuffTests",
      "path" : "Tests/TemporaryStuffTests",
      "sources" : [
        "TemporaryStuffTests.swift"
      ],
      "target_dependencies" : [
        "PathLib",
        "TestHelpers",
        "Tmp"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TeamcityMessaging",
      "module_type" : "SwiftTarget",
      "name" : "TeamcityMessaging",
      "path" : "Sources/TeamcityMessaging",
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Cloc",
        "CommandSupport",
        "Console",
        "ConsoleTestHelpers",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot",
        "TeamcityMessaging"
      ],
      "sources" : [
        "ControlMessage/ControlMessage.swift",
        "ControlMessage/ControlMessageBuilder.swift",
        "ControlMessage/ControlMessageParameter.swift",
        "ControlMessage/ControlMessageWithMultipleParameters.swift",
        "ControlMessage/ControlMessageWithSingleParameter.swift",
        "DI/TeamcityMessagingModuleDependencies.swift",
        "TeamcityMessageGenerator/TeamcityMessageGenerator.swift",
        "TeamcityMessageRenderer/TeamcityMessageRenderer.swift",
        "TeamcityMessageRenderer/TeamcityMessageRendererImpl.swift"
      ],
      "target_dependencies" : [
        "CLTExtensions",
        "DI"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SynchronousWaiterTests",
      "module_type" : "SwiftTarget",
      "name" : "SynchronousWaiterTests",
      "path" : "Tests/SynchronousWaiterTests",
      "sources" : [
        "SynchronousWaiterTests.swift",
        "WaiterTests.swift"
      ],
      "target_dependencies" : [
        "SynchronousWaiter",
        "TestHelpers"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SynchronousWaiter",
      "module_type" : "SwiftTarget",
      "name" : "SynchronousWaiter",
      "path" : "Sources/SynchronousWaiter",
      "product_memberships" : [
        "ProcessControllerTestHelpers",
        "SynchronousWaiter"
      ],
      "sources" : [
        "NoOpWaiter.swift",
        "SynchronousWaiter.swift",
        "Timeout.swift",
        "Waiter+Callbacks.swift",
        "Waiter+ErrorMapping.swift",
        "Waiter.swift"
      ],
      "target_dependencies" : [
        "AtomicModels"
      ],
      "type" : "library"
    },
    {
      "c99name" : "StatsdTests",
      "module_type" : "SwiftTarget",
      "name" : "StatsdTests",
      "path" : "Tests/StatsdTests",
      "product_dependencies" : [
        "Socket"
      ],
      "sources" : [
        "FakeStatsdClient.swift",
        "StatsdClientTests.swift",
        "StatsdMetricTests.swift"
      ],
      "target_dependencies" : [
        "MetricsRecording",
        "SocketModels",
        "Statsd",
        "TestHelpers"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Statsd",
      "module_type" : "SwiftTarget",
      "name" : "Statsd",
      "path" : "Sources/Statsd",
      "product_dependencies" : [
        "Socket"
      ],
      "product_memberships" : [
        "MetricsRecording",
        "MetricsTestHelpers",
        "Statsd"
      ],
      "sources" : [
        "StatsdClient.swift",
        "StatsdClientImpl.swift",
        "StatsdMetric.swift",
        "StatsdMetricHandler.swift",
        "StatsdMetricHandlerImpl.swift"
      ],
      "target_dependencies" : [
        "AtomicModels",
        "MetricsUtils",
        "SocketModels"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SocketModels",
      "module_type" : "SwiftTarget",
      "name" : "SocketModels",
      "path" : "Sources/SocketModels",
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Graphite",
        "GraphiteTestHelpers",
        "Kibana",
        "KibanaTestHelpers",
        "MetricsRecording",
        "MetricsTestHelpers",
        "SocketModels",
        "Statsd"
      ],
      "sources" : [
        "Port.swift",
        "SocketAddress.swift"
      ],
      "target_dependencies" : [
        "Types"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SignalHandlingTests",
      "module_type" : "SwiftTarget",
      "name" : "SignalHandlingTests",
      "path" : "Tests/SignalHandlingTests",
      "product_dependencies" : [
        "Signals"
      ],
      "sources" : [
        "SignalHandlingTests.swift"
      ],
      "target_dependencies" : [
        "SignalHandling"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SignalHandling",
      "module_type" : "SwiftTarget",
      "name" : "SignalHandling",
      "path" : "Sources/SignalHandling",
      "product_dependencies" : [
        "Signals"
      ],
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Cloc",
        "CommandSupport",
        "Console",
        "ConsoleTestHelpers",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot",
        "SignalHandling"
      ],
      "sources" : [
        "Signal.swift",
        "SignalHandling.swift"
      ],
      "target_dependencies" : [
        "Types"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RepoRootTests",
      "module_type" : "SwiftTarget",
      "name" : "RepoRootTests",
      "path" : "Tests/RepoRootTests",
      "sources" : [
        "MarkerFileRepoRootProviderTests.swift"
      ],
      "target_dependencies" : [
        "FileSystem",
        "FileSystemTestHelpers",
        "PathLib",
        "RepoRoot",
        "TestHelpers"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RepoRoot",
      "module_type" : "SwiftTarget",
      "name" : "RepoRoot",
      "path" : "Sources/RepoRoot",
      "product_memberships" : [
        "RepoRoot"
      ],
      "sources" : [
        "DI/RepoRootModuleDependencies.swift",
        "RepoRootProvider/RepoRootProvider.swift",
        "RepoRootProvider/RepoRootProviderFactory.swift",
        "RepoRootProvider/RepoRootProviderFactoryImplementations/CachingRepoRootProviderFactory.swift",
        "RepoRootProvider/RepoRootProviderFactoryImplementations/GitRepoRootProviderFactory.swift",
        "RepoRootProvider/RepoRootProviderFactoryImplementations/MarkerFileRepoRootProviderFactory.swift",
        "RepoRootProvider/RepoRootProviderImplementations/CachingRepoRootProvider.swift",
        "RepoRootProvider/RepoRootProviderImplementations/ClosureRepoRootProvider.swift",
        "RepoRootProvider/RepoRootProviderImplementations/CurrentExecutableRepoRootProvider.swift",
        "RepoRootProvider/RepoRootProviderImplementations/GitRepoRootProvider.swift",
        "RepoRootProvider/RepoRootProviderImplementations/MarkerFileRepoRootProvider.swift",
        "RepoRootProvider/RepoRootProviderImplementations/WorkdirRepoRootProvider.swift"
      ],
      "target_dependencies" : [
        "CLTExtensions",
        "DI",
        "Environment",
        "FileSystem",
        "PathLib",
        "ProcessController"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ProcessControllerTests",
      "module_type" : "SwiftTarget",
      "name" : "ProcessControllerTests",
      "path" : "Tests/ProcessControllerTests",
      "sources" : [
        "AutomaticManagementTests.swift",
        "DefaultProcessControllerTests.swift",
        "EnvironmentSecureValueTests.swift",
        "LoggableProcessControllerProviderTests.swift",
        "ProcessControllerProvider+BashTests.swift"
      ],
      "target_dependencies" : [
        "DateProvider",
        "FileSystem",
        "PathLib",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "SignalHandling",
        "TestHelpers",
        "Tmp"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ProcessControllerTestHelpers",
      "module_type" : "SwiftTarget",
      "name" : "ProcessControllerTestHelpers",
      "path" : "Tests/ProcessControllerTestHelpers",
      "product_memberships" : [
        "ProcessControllerTestHelpers"
      ],
      "sources" : [
        "FakeProcessController.swift",
        "FakeProcessControllerProvider.swift"
      ],
      "target_dependencies" : [
        "ProcessController",
        "SynchronousWaiter",
        "Tmp"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ProcessController",
      "module_type" : "SwiftTarget",
      "name" : "ProcessController",
      "path" : "Sources/ProcessController",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Cloc",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot"
      ],
      "sources" : [
        "AutomaticManagement.swift",
        "AutomaticManagementItemController.swift",
        "BashEscapedCommandMaker/BashEscapedCommandMaker.swift",
        "BashEscapedCommandMaker/BashEscapedCommandMakerImpl.swift",
        "DI/ProcessControllerDependencies.swift",
        "DefaultProcessController.swift",
        "DefaultProcessControllerProvider.swift",
        "Environment.swift",
        "EnvironmentValue.swift",
        "LoggableProcessControllerProvider.swift",
        "Process+ProcessGroup.swift",
        "ProcessController.swift",
        "ProcessControllerError.swift",
        "ProcessControllerProvider+Shell.swift",
        "ProcessControllerProvider+Subprocess.swift",
        "ProcessControllerProvider.swift",
        "ProcessListener.swift",
        "ProcessStatus.swift",
        "Subprocess.swift",
        "SubprocessArgument.swift",
        "SubprocessInfo.swift"
      ],
      "target_dependencies" : [
        "AtomicModels",
        "Console",
        "DI",
        "DateProvider",
        "Environment",
        "FileSystem",
        "PathLib",
        "SignalHandling",
        "Timer",
        "Tmp"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PlistLibTests",
      "module_type" : "SwiftTarget",
      "name" : "PlistLibTests",
      "path" : "Tests/PlistLibTests",
      "sources" : [
        "PlistEntryTests.swift",
        "PlistTests.swift"
      ],
      "target_dependencies" : [
        "PlistLib",
        "TestHelpers"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PlistLib",
      "module_type" : "SwiftTarget",
      "name" : "PlistLib",
      "path" : "Sources/PlistLib",
      "product_memberships" : [
        "PlistLib",
        "UserDefaultsLib",
        "UserDefaultsLibTestHelpers",
        "XcodeLocator"
      ],
      "sources" : [
        "DI/PlistLibModuleDependencies.swift",
        "Plist.swift",
        "PlistEntry+Access.swift",
        "PlistEntry.swift",
        "PlistReader/PlistReader.swift",
        "PlistReader/PlistReaderImpl.swift",
        "RootPlistEntry.swift"
      ],
      "target_dependencies" : [
        "DI",
        "FileSystem",
        "PathLib"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PathLibTests",
      "module_type" : "SwiftTarget",
      "name" : "PathLibTests",
      "path" : "Tests/PathLibTests",
      "sources" : [
        "AbsolutePathTests.swift",
        "PathTests.swift",
        "RelativePathTests.swift"
      ],
      "target_dependencies" : [
        "PathLib",
        "TestHelpers"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PathLib",
      "module_type" : "SwiftTarget",
      "name" : "PathLib",
      "path" : "Sources/PathLib",
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Cloc",
        "CommandSupport",
        "Concurrency",
        "Downloader",
        "Environment",
        "FileSystem",
        "FileSystemTestHelpers",
        "ImagesInterfaces",
        "ImagesTestHelpers",
        "PathLib",
        "PlistLib",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot",
        "TestHelpers",
        "Tmp",
        "TmpTestHelpers",
        "UserDefaultsLib",
        "UserDefaultsLibTestHelpers",
        "XcodeLocator",
        "XcodeLocatorModels"
      ],
      "sources" : [
        "AbsolutePath.swift",
        "FileManager+Extensions.swift",
        "Path+CommonOperations.swift",
        "Path.swift",
        "RelativePath.swift",
        "String+ShellEscaping.swift",
        "StringPathParsing.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MetricsUtils",
      "module_type" : "SwiftTarget",
      "name" : "MetricsUtils",
      "path" : "Sources/MetricsUtils",
      "product_memberships" : [
        "Graphite",
        "GraphiteTestHelpers",
        "MetricsRecording",
        "MetricsTestHelpers",
        "MetricsUtils",
        "Statsd"
      ],
      "sources" : [
        "String+MetricComponent.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MetricsTests",
      "module_type" : "SwiftTarget",
      "name" : "MetricsTests",
      "path" : "Tests/MetricsTests",
      "sources" : [
        "MetricHandlerTests.swift",
        "TimeMeasurerTests.swift"
      ],
      "target_dependencies" : [
        "DateProviderTestHelpers",
        "Graphite",
        "MetricsRecording",
        "MetricsTestHelpers",
        "Statsd",
        "TestHelpers"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MetricsTestHelpers",
      "module_type" : "SwiftTarget",
      "name" : "MetricsTestHelpers",
      "path" : "Tests/MetricsTestHelpers",
      "product_memberships" : [
        "MetricsTestHelpers"
      ],
      "sources" : [
        "FakeMetricHandler.swift",
        "Metric+TestCompare.swift",
        "NoOpMetricRecorder.swift"
      ],
      "target_dependencies" : [
        "Graphite",
        "MetricsRecording",
        "Statsd"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MetricsRecording",
      "module_type" : "SwiftTarget",
      "name" : "MetricsRecording",
      "path" : "Sources/MetricsRecording",
      "product_memberships" : [
        "MetricsRecording",
        "MetricsTestHelpers"
      ],
      "sources" : [
        "MetricRecorder.swift",
        "MetricRecorderImpl.swift",
        "MutableMetricRecorder.swift",
        "NoOpMetricHandler.swift",
        "TimeMeasurer.swift"
      ],
      "target_dependencies" : [
        "DateProvider",
        "Graphite",
        "Statsd"
      ],
      "type" : "library"
    },
    {
      "c99name" : "LaunchdUtilsTests",
      "module_type" : "SwiftTarget",
      "name" : "LaunchdUtilsTests",
      "path" : "Tests/LaunchdUtilsTests",
      "sources" : [
        "LaunchdUtilsTests.swift"
      ],
      "target_dependencies" : [
        "LaunchdUtils"
      ],
      "type" : "test"
    },
    {
      "c99name" : "LaunchdUtils",
      "module_type" : "SwiftTarget",
      "name" : "LaunchdUtils",
      "path" : "Sources/LaunchdUtils",
      "product_memberships" : [
        "LaunchdUtils"
      ],
      "sources" : [
        "LaunchdJob.swift",
        "LaunchdPlist.swift",
        "LaunchdSocket.swift",
        "LaunchdSocketActivation.swift",
        "LaunchdSocketActivationError.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KibanaTests",
      "module_type" : "SwiftTarget",
      "name" : "KibanaTests",
      "path" : "Tests/KibanaTests",
      "sources" : [
        "HttpKibanaClientTests.swift"
      ],
      "target_dependencies" : [
        "DateProviderTestHelpers",
        "Kibana",
        "SocketModels",
        "TestHelpers",
        "URLSessionTestHelpers"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KibanaTestHelpers",
      "module_type" : "SwiftTarget",
      "name" : "KibanaTestHelpers",
      "path" : "Tests/KibanaTestHelpers",
      "product_memberships" : [
        "KibanaTestHelpers"
      ],
      "sources" : [
        "FakeKibanaClient.swift"
      ],
      "target_dependencies" : [
        "Kibana"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KibanaModels",
      "module_type" : "SwiftTarget",
      "name" : "KibanaModels",
      "path" : "Sources/KibanaModels",
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "KibanaModels"
      ],
      "sources" : [
        "KibanaConfiguration.swift"
      ],
      "target_dependencies" : [
        "CLTTypes"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Kibana",
      "module_type" : "SwiftTarget",
      "name" : "Kibana",
      "path" : "Sources/Kibana",
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Kibana",
        "KibanaTestHelpers"
      ],
      "sources" : [
        "HttpKibanaClient.swift",
        "KibanaClient.swift",
        "KibanaHttpEndpoint.swift"
      ],
      "target_dependencies" : [
        "CLTExtensions",
        "CLTTypes",
        "DateProvider",
        "SocketModels"
      ],
      "type" : "library"
    },
    {
      "c99name" : "JSONStreamTests",
      "module_type" : "SwiftTarget",
      "name" : "JSONStreamTests",
      "path" : "Tests/JSONStreamTests",
      "sources" : [
        "BlockingArrayBasedJSONStreamTests.swift",
        "Helpers.swift",
        "JSONReaderNumberEdgeCaseTests.swift",
        "JSONReaderStringEdgeCaseTests.swift",
        "JSONStreamReaderTests.swift"
      ],
      "target_dependencies" : [
        "JSONStream",
        "TestHelpers"
      ],
      "type" : "test"
    },
    {
      "c99name" : "JSONStream",
      "module_type" : "SwiftTarget",
      "name" : "JSONStream",
      "path" : "Sources/JSONStream",
      "product_memberships" : [
        "JSONStream"
      ],
      "sources" : [
        "AppendableJSONStream.swift",
        "BlockingArrayBasedJSONStream.swift",
        "JSONReader.swift",
        "JSONReaderContext.swift",
        "JSONReaderError.swift",
        "JSONReaderEventStream.swift",
        "JSONReaderFatalError.swift",
        "JSONStream.swift",
        "JSONStreamFactory.swift",
        "NumberValidator.swift"
      ],
      "target_dependencies" : [
        "AtomicModels"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ImagesTestHelpers",
      "module_type" : "SwiftTarget",
      "name" : "ImagesTestHelpers",
      "path" : "Tests/ImagesTestHelpers",
      "product_memberships" : [
        "ImagesTestHelpers"
      ],
      "sources" : [
        "Mocks/ImageFactoryGeneratorMock.swift",
        "Mocks/ImageParserMock.swift",
        "Mocks/ImageSetGeneratorMock.swift",
        "Mocks/ImageValidatorMock.swift",
        "Mocks/KnownImageCategoriesMock.swift"
      ],
      "target_dependencies" : [
        "ImagesInterfaces",
        "PathLib"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ImagesInterfaces",
      "module_type" : "SwiftTarget",
      "name" : "ImagesInterfaces",
      "path" : "Sources/ImagesInterfaces",
      "product_memberships" : [
        "ImagesInterfaces",
        "ImagesTestHelpers"
      ],
      "sources" : [
        "ImageError.swift",
        "ImageFactoryGenerator.swift",
        "ImageParser.swift",
        "ImageSetGenerator.swift",
        "ImageValidator.swift",
        "KnownImageCategories.swift"
      ],
      "target_dependencies" : [
        "PathLib"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GraphiteTests",
      "module_type" : "SwiftTarget",
      "name" : "GraphiteTests",
      "path" : "Tests/GraphiteTests",
      "product_dependencies" : [
        "Socket"
      ],
      "sources" : [
        "LazySocketConnectionIntegrationTests.swift"
      ],
      "target_dependencies" : [
        "AtomicModels",
        "Graphite",
        "SocketModels",
        "TestHelpers"
      ],
      "type" : "test"
    },
    {
      "c99name" : "GraphiteTestHelpers",
      "module_type" : "SwiftTarget",
      "name" : "GraphiteTestHelpers",
      "path" : "Tests/GraphiteTestHelpers",
      "product_memberships" : [
        "GraphiteTestHelpers"
      ],
      "sources" : [
        "GraphiteClient.swift"
      ],
      "target_dependencies" : [
        "Graphite"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Graphite",
      "module_type" : "SwiftTarget",
      "name" : "Graphite",
      "path" : "Sources/Graphite",
      "product_dependencies" : [
        "Socket"
      ],
      "product_memberships" : [
        "Graphite",
        "GraphiteTestHelpers",
        "MetricsRecording",
        "MetricsTestHelpers"
      ],
      "sources" : [
        "GraphiteMetric.swift",
        "GraphiteMetricHandler.swift",
        "LazySocketConnection.swift",
        "NoOpGraphiteMetricHandler.swift",
        "SocketGraphiteMetricHandler.swift"
      ],
      "target_dependencies" : [
        "MetricsUtils",
        "SocketModels"
      ],
      "type" : "library"
    },
    {
      "c99name" : "FileSystemTests",
      "module_type" : "SwiftTarget",
      "name" : "FileSystemTests",
      "path" : "Tests/FileSystemTests",
      "sources" : [
        "AppleCommonlyUsedPathsProviderTests.swift",
        "DeepFileSystemEnumeratorTests.swift",
        "DefaultFilePropertiesContainerTests.swift",
        "DirectoryCreatorImplTests.swift",
        "FileSystemEntrySequenceTests.swift",
        "GlobFileSystemEnumeratorTests.swift",
        "LocalFileSystemTests.swift",
        "PathDeleterImplTests.swift",
        "PatternComponentTests.swift",
        "ShallowFileSystemEnumeratorTests.swift",
        "TestDataForEnumeration.swift"
      ],
      "target_dependencies" : [
        "FileSystem",
        "FileSystemTestHelpers",
        "PathLib",
        "TestHelpers",
        "Tmp",
        "TmpTestHelpers"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FileSystemTestHelpers",
      "module_type" : "SwiftTarget",
      "name" : "FileSystemTestHelpers",
      "path" : "Tests/FileSystemTestHelpers",
      "product_memberships" : [
        "FileSystemTestHelpers"
      ],
      "sources" : [
        "FakeFilePropertiesContainer.swift",
        "FakeFileReader.swift",
        "FakeFileSystem.swift",
        "FakeFileSystemEnumerator.swift",
        "FakeFileSystemPropertiesContainer.swift",
        "FakeThrowingProperty.swift",
        "FileSystemTestHelpers.swift"
      ],
      "target_dependencies" : [
        "FileSystem",
        "PathLib",
        "Types"
      ],
      "type" : "library"
    },
    {
      "c99name" : "FileSystem",
      "module_type" : "SwiftTarget",
      "name" : "FileSystem",
      "path" : "Sources/FileSystem",
      "product_dependencies" : [
        "Glob"
      ],
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Cloc",
        "FileSystem",
        "FileSystemTestHelpers",
        "PlistLib",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot",
        "UserDefaultsLib",
        "UserDefaultsLibTestHelpers",
        "XcodeLocator"
      ],
      "sources" : [
        "DI/FileSystemModuleDependencies.swift",
        "File/WorkingWithContents/DataWriter/DataWriter.swift",
        "File/WorkingWithContents/DataWriter/DataWriterImpl.swift",
        "File/WorkingWithContents/FileReader/FileReader.swift",
        "File/WorkingWithContents/FileReader/FileReaderImpl.swift",
        "File/WorkingWithProperties/DefaultFilePropertiesContainer.swift",
        "File/WorkingWithProperties/FileExistence.swift",
        "File/WorkingWithProperties/FileExistenceCheckType.swift",
        "File/WorkingWithProperties/FilePropertiesContainer.swift",
        "File/WorkingWithProperties/FilePropertiesContainerError.swift",
        "File/WorkingWithProperties/FilePropertiesSnapshot.swift",
        "Files/CommonlyUsedPathsProvider/AppleCommonlyUsedPathsProvider.swift",
        "Files/CommonlyUsedPathsProvider/CommonlyUsedPathsProvider.swift",
        "Files/CommonlyUsedPathsProvider/LinuxCommonlyUsedPathsProvider.swift",
        "Files/EntrySequence/DirectoryEntries.swift",
        "Files/EntrySequence/FileSystemEntrySequence.swift",
        "Files/EntrySequence/FileSystemEntrySequenceFactory.swift",
        "Files/Enumeration/Deep/DeepFileSystemEnumerator.swift",
        "Files/Enumeration/Deep/DeepFollowSymlinksFileSystemEnumerator.swift",
        "Files/Enumeration/FileSystemEnumerator.swift",
        "Files/Enumeration/Glob/GlobFileSystemEnumerator.swift",
        "Files/Enumeration/Glob/GlobPattern.swift",
        "Files/Enumeration/Shallow/ShallowFileSystemEnumerator.swift",
        "Files/FileSystem/CommonlyUsedPathsProviderFactory/CommonlyUsedPathsProviderFactory.swift",
        "Files/FileSystem/CommonlyUsedPathsProviderFactory/CommonlyUsedPathsProviderFactoryImpl.swift",
        "Files/FileSystem/DirectoryCreator/DirectoryCreator.swift",
        "Files/FileSystem/DirectoryCreator/DirectoryCreatorImpl.swift",
        "Files/FileSystem/FileAppender/FileAppender.swift",
        "Files/FileSystem/FileAppender/FileAppenderImpl.swift",
        "Files/FileSystem/FileCreator/FileCreator.swift",
        "Files/FileSystem/FileCreator/FileCreatorImpl.swift",
        "Files/FileSystem/FilePropertiesProvider/FileExistenceChecker.swift",
        "Files/FileSystem/FilePropertiesProvider/FilePropertiesProvider.swift",
        "Files/FileSystem/FilePropertiesProvider/FilePropertiesProviderImpl.swift",
        "Files/FileSystem/FileSystem.swift",
        "Files/FileSystem/FileSystemEnumeratorFactory/ContentEnumerationStyle.swift",
        "Files/FileSystem/FileSystemEnumeratorFactory/FileSystemEnumeratorFactory.swift",
        "Files/FileSystem/FileSystemEnumeratorFactory/FileSystemEnumeratorFactoryImpl.swift",
        "Files/FileSystem/FileSystemPropertiesProvider/FileSystemPropertiesProvider.swift",
        "Files/FileSystem/FileSystemPropertiesProvider/FileSystemPropertiesProviderImpl.swift",
        "Files/FileSystem/FileToucher/FileToucher.swift",
        "Files/FileSystem/FileToucher/FileToucherImpl.swift",
        "Files/FileSystem/LocalFileSystem.swift",
        "Files/FileSystem/PathCopier/PathCopier.swift",
        "Files/FileSystem/PathCopier/PathCopierImpl.swift",
        "Files/FileSystem/PathDeleter/PathDeleter.swift",
        "Files/FileSystem/PathDeleter/PathDeleterImpl.swift",
        "Files/FileSystem/PathLinker/PathLinker.swift",
        "Files/FileSystem/PathLinker/PathLinkerImpl.swift",
        "Files/FileSystem/PathMover/PathMover.swift",
        "Files/FileSystem/PathMover/PathMoverImpl.swift",
        "Files/FileSystem/Support/DestinationPreparer.swift",
        "Files/Properties/DefaultFileSystemPropertiesContainer.swift",
        "Files/Properties/FileSystemPropertiesContainer.swift",
        "Files/RealPathProvider/RealpathProvider.swift",
        "Files/RealPathProvider/RealpathProviderImpl.swift"
      ],
      "target_dependencies" : [
        "CLTExtensions",
        "DI",
        "PathLib",
        "Types"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Environment",
      "module_type" : "SwiftTarget",
      "name" : "Environment",
      "path" : "Sources/Environment",
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Cloc",
        "Environment",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot"
      ],
      "sources" : [
        "CurrentExecutableProvider/CurrentExecutableProvider.swift",
        "CurrentExecutableProvider/ProcessInfoCurrentExecutableProvider.swift",
        "DI/EnvironmentModuleDependencies.swift",
        "EnvironmentProvider/Conversion.swift",
        "EnvironmentProvider/EnvironmentKey.swift",
        "EnvironmentProvider/EnvironmentProvider.swift",
        "EnvironmentProvider/ProcessInfoEnvironmentProvider.swift"
      ],
      "target_dependencies" : [
        "CLTExtensions",
        "DI",
        "PathLib"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Downloader",
      "module_type" : "SwiftTarget",
      "name" : "Downloader",
      "path" : "Sources/Downloader",
      "product_dependencies" : [
        "Alamofire"
      ],
      "product_memberships" : [
        "Downloader"
      ],
      "sources" : [
        "DI/DownloaderModuleDependencies.swift",
        "Downloader.swift",
        "DownloaderImpl.swift"
      ],
      "target_dependencies" : [
        "DI",
        "DateProvider",
        "PathLib"
      ],
      "type" : "library"
    },
    {
      "c99name" : "DateProviderTestHelpers",
      "module_type" : "SwiftTarget",
      "name" : "DateProviderTestHelpers",
      "path" : "Tests/DateProviderTestHelpers",
      "product_memberships" : [
        "DateProviderTestHelpers"
      ],
      "sources" : [
        "DateProviderFixture.swift"
      ],
      "target_dependencies" : [
        "DateProvider"
      ],
      "type" : "library"
    },
    {
      "c99name" : "DateProvider",
      "module_type" : "SwiftTarget",
      "name" : "DateProvider",
      "path" : "Sources/DateProvider",
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Cloc",
        "DateProvider",
        "DateProviderTestHelpers",
        "Downloader",
        "Kibana",
        "KibanaTestHelpers",
        "MetricsRecording",
        "MetricsTestHelpers",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot"
      ],
      "sources" : [
        "DI/DateProviderModuleDependencies.swift",
        "DateProvider.swift",
        "SystemDateProvider.swift"
      ],
      "target_dependencies" : [
        "DI"
      ],
      "type" : "library"
    },
    {
      "c99name" : "DI",
      "module_type" : "SwiftTarget",
      "name" : "DI",
      "path" : "Sources/DI",
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Cloc",
        "CommandSupport",
        "Console",
        "ConsoleTestHelpers",
        "DI",
        "DateProvider",
        "DateProviderTestHelpers",
        "Downloader",
        "Environment",
        "FileSystem",
        "FileSystemTestHelpers",
        "Kibana",
        "KibanaTestHelpers",
        "MetricsRecording",
        "MetricsTestHelpers",
        "PlistLib",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot",
        "TeamcityMessaging",
        "UserDefaultsLib",
        "UserDefaultsLibTestHelpers",
        "XcodeLocator"
      ],
      "sources" : [
        "DependencyCollectionRegisterer/CompoundDependencyCollectionRegisterer.swift",
        "DependencyCollectionRegisterer/DependencyCollectionRegisterer.swift",
        "DependencyInjection/DelegatingDependencyInjection.swift",
        "DependencyInjection/DependencyInjection.swift",
        "DependencyInjectionFactory/DependencyInjectionFactory.swift",
        "DependencyRegisterer/DependencyRegisterer+RegisterMultiple.swift",
        "DependencyRegisterer/DependencyRegisterer.swift",
        "DependencyRegisterer/MultipleDependenciesRegistrationContinuation.swift",
        "DependencyResolver/CompoundDependencyResolver.swift",
        "DependencyResolver/DependencyResolver.swift",
        "DependencyResolver/WeakDependencyResolver.swift",
        "Facade/DIContext.swift",
        "Facade/InitializableWithNoArguments.swift",
        "HashableType/HashableType.swift",
        "Implementation/DependencyInjection/DependencyInjectionFactoryImpl.swift",
        "Implementation/DependencyInjection/DependencyInjectionImpl.swift",
        "Implementation/DependencyInjection/RegisteredDependency.swift",
        "Models/DiError.swift",
        "Models/Scope.swift",
        "Modular/AllModularDependenciesDependencyCollectionRegisterer.swift",
        "Modular/ModuleDependencies.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ConsoleTests",
      "module_type" : "SwiftTarget",
      "name" : "ConsoleTests",
      "path" : "Tests/ConsoleTests",
      "product_dependencies" : [
        "InlineSnapshotTesting",
        "Logging",
        "SnapshotTesting"
      ],
      "sources" : [
        "Helpers/ConsoleComponent+TestHelpers.swift",
        "Helpers/Snapshotting+ConsoleComponent.swift",
        "InteractivePromptRendererTests.swift",
        "LogRendererTests.swift",
        "TraceHierarchyTests.swift"
      ],
      "target_dependencies" : [
        "Console"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ConsoleTestHelpers",
      "module_type" : "SwiftTarget",
      "name" : "ConsoleTestHelpers",
      "path" : "Tests/ConsoleTestHelpers",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "ConsoleTestHelpers"
      ],
      "sources" : [
        "TestCLI.swift"
      ],
      "target_dependencies" : [
        "Console"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Console",
      "module_type" : "SwiftTarget",
      "name" : "Console",
      "path" : "Sources/Console",
      "product_dependencies" : [
        "Logging",
        "Yams"
      ],
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Cloc",
        "CommandSupport",
        "Console",
        "ConsoleTestHelpers",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot"
      ],
      "sources" : [
        "ANSI/ANSI.swift",
        "ANSI/ANSIKeyboard.swift",
        "ANSI/ANSIScreen.swift",
        "ANSI/ANSITerminal.swift",
        "ANSIConsoleHandler/ANSIConsoleHandler.swift",
        "ANSIConsoleHandler/Input/ANSIConsoleHandler+Input.swift",
        "ANSIConsoleHandler/Input/InputComponent.swift",
        "ANSIConsoleHandler/Input/InputComponentRenderer.swift",
        "ANSIConsoleHandler/Input/InputComponentState.swift",
        "ANSIConsoleHandler/Log/ANSIConsoleHandler+Log.swift",
        "ANSIConsoleHandler/Log/ConsoleLogHandler.swift",
        "ANSIConsoleHandler/Log/LogComponent.swift",
        "ANSIConsoleHandler/Log/LogComponentRenderer.swift",
        "ANSIConsoleHandler/Log/LogComponentState.swift",
        "ANSIConsoleHandler/LogStream/ANSIConsoleHandler+LogStream.swift",
        "ANSIConsoleHandler/LogStream/LogStreamComponent.swift",
        "ANSIConsoleHandler/LogStream/LogStreamComponentRenderer.swift",
        "ANSIConsoleHandler/LogStream/LogStreamComponentState.swift",
        "ANSIConsoleHandler/Question/ANSIConsoleHandler+Question.swift",
        "ANSIConsoleHandler/Question/QuestionComponent.swift",
        "ANSIConsoleHandler/Question/QuestionComponentRenderer.swift",
        "ANSIConsoleHandler/Question/QuestionComponentState.swift",
        "ANSIConsoleHandler/Select/ANSIConsoleHandler+Select.swift",
        "ANSIConsoleHandler/Select/SelectComponent.swift",
        "ANSIConsoleHandler/Select/SelectComponentRenderer.swift",
        "ANSIConsoleHandler/Select/SelectComponentState.swift",
        "ANSIConsoleHandler/Trace/ANSIConsoleHandler+Trace.swift",
        "ANSIConsoleHandler/Trace/TraceClock.swift",
        "ANSIConsoleHandler/Trace/TraceComponent.swift",
        "ANSIConsoleHandler/Trace/TraceComponentRenderer.swift",
        "ANSIConsoleHandler/Trace/TraceComponentState.swift",
        "Console.swift",
        "ConsoleColor.swift",
        "ConsoleContext.swift",
        "ConsoleHandler.swift",
        "ConsoleStyle.swift",
        "ConsoleSystem.swift",
        "ConsoleText.swift",
        "ConsoleTextFragment.swift",
        "DI/ConsoleModuleDependencies.swift",
        "TeamcityConsoleHandler/TeamcityConsoleHandler.swift",
        "TrackingConsoleHandler/ConsoleActionStorage.swift",
        "TrackingConsoleHandler/TraceMetadata.swift",
        "TrackingConsoleHandler/TraceMetadataValue.swift",
        "TrackingConsoleHandler/TrackingConsoleHandler.swift",
        "Utils/ReadWriteLock.swift",
        "Utils/StdioOutputStream.swift",
        "Utils/String+Symbols.swift"
      ],
      "target_dependencies" : [
        "AtomicModels",
        "DI",
        "SignalHandling",
        "TeamcityMessaging"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Concurrency",
      "module_type" : "SwiftTarget",
      "name" : "Concurrency",
      "path" : "Sources/Concurrency",
      "product_memberships" : [
        "Concurrency"
      ],
      "sources" : [
        "ThreadSafeLazy.swift",
        "ThrowingThreadSafeLazy.swift"
      ],
      "target_dependencies" : [
        "PathLib"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CommandSupportTests",
      "module_type" : "SwiftTarget",
      "name" : "CommandSupportTests",
      "path" : "Tests/CommandSupportTests",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "sources" : [
        "ParsableCommandPathTests.swift"
      ],
      "target_dependencies" : [
        "CommandSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CommandSupport",
      "module_type" : "SwiftTarget",
      "name" : "CommandSupport",
      "path" : "Sources/CommandSupport",
      "product_dependencies" : [
        "ArgumentParser",
        "Logging"
      ],
      "product_memberships" : [
        "CommandSupport"
      ],
      "sources" : [
        "AbsolutePath+ExpressibleByArgument.swift",
        "AsyncCommandLogic.swift",
        "AsyncCommandLogicProvider.swift",
        "BaseCommand.swift",
        "CommandDiValidator.swift",
        "CommandLogic.swift",
        "CommandLogicProvider.swift",
        "CompoundAsyncCommandLogic.swift",
        "CompoundCommandLogic.swift",
        "LogOptionsCommand.swift",
        "ParsableCommand+pathFromRootCommand.swift",
        "TestableCommand.swift"
      ],
      "target_dependencies" : [
        "CLTExtensions",
        "Console",
        "DI",
        "PathLib",
        "TeamcityMessaging"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Cloc",
      "module_type" : "SwiftTarget",
      "name" : "Cloc",
      "path" : "Sources/Cloc",
      "product_memberships" : [
        "Cloc"
      ],
      "sources" : [
        "Cloc.swift",
        "ClocTool.swift"
      ],
      "target_dependencies" : [
        "FileSystem",
        "PathLib",
        "ProcessController"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CLTTypes",
      "module_type" : "SwiftTarget",
      "name" : "CLTTypes",
      "path" : "Sources/CLTTypes",
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "CLTTypes",
        "Kibana",
        "KibanaModels",
        "KibanaTestHelpers"
      ],
      "sources" : [
        "Credentials.swift",
        "Http/HttpAuthorizationScheme.swift"
      ],
      "target_dependencies" : [
        "CLTExtensions"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CLTLoggingTests",
      "module_type" : "SwiftTarget",
      "name" : "CLTLoggingTests",
      "path" : "Tests/CLTLoggingTests",
      "sources" : [
        "AggregatedLoggerHandlerTests.swift",
        "ContextualLoggerTests.swift",
        "FakeFileHandle.swift",
        "FileHandleLoggerHandlerTests.swift",
        "KibanaLoggerHandlerTests.swift",
        "LimitingLoggerHandlerTests.swift",
        "NSLogLikeLogEntryTextFormatterTests.swift",
        "SimpleLogEntryTextFormatter.swift",
        "VerbosityTests.swift"
      ],
      "target_dependencies" : [
        "CLTLogging",
        "CLTLoggingModels",
        "CLTLoggingTestHelpers",
        "DateProviderTestHelpers",
        "Kibana",
        "KibanaTestHelpers",
        "TestHelpers",
        "Tmp"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CLTLoggingTestHelpers",
      "module_type" : "SwiftTarget",
      "name" : "CLTLoggingTestHelpers",
      "path" : "Tests/CLTLoggingTestHelpers",
      "product_memberships" : [
        "CLTLoggingTestHelpers"
      ],
      "sources" : [
        "FakeLoggerHandler.swift",
        "LogEntryFixture.swift"
      ],
      "target_dependencies" : [
        "CLTLogging",
        "CLTLoggingModels"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CLTLoggingModels",
      "module_type" : "SwiftTarget",
      "name" : "CLTLoggingModels",
      "path" : "Sources/CLTLoggingModels",
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingModels",
        "CLTLoggingTestHelpers"
      ],
      "sources" : [
        "LogEntry.swift",
        "LogEntryCoordinate.swift",
        "LogEntryTextFormatter.swift",
        "LoggableDate.swift",
        "LoggableDouble.swift",
        "LoggableOptional.swift",
        "NSLogLikeLogEntryTextFormatter.swift",
        "PidInfo.swift",
        "Verbosity.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CLTLogging",
      "module_type" : "SwiftTarget",
      "name" : "CLTLogging",
      "path" : "Sources/CLTLogging",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "CLTLogging",
        "CLTLoggingTestHelpers"
      ],
      "sources" : [
        "AggregatedLoggerHandler.swift",
        "ChildProcessLogsContainerProvider.swift",
        "ContextualLogger+Levels.swift",
        "ContextualLogger+ProcessController.swift",
        "ContextualLogger.swift",
        "FileHandle+TextOutputStream.swift",
        "FileHandleLoggerHandler.swift",
        "FileState.swift",
        "FileSystem+Logging.swift",
        "KibanaHandler.swift",
        "LimitingLoggerHandler.swift",
        "Logger+TypedInit.swift",
        "LoggerHandler.swift",
        "LoggingSetup.swift",
        "NoOpLoggerHandler.swift",
        "RedirectingLoggerHandler.swift",
        "SubprocessInfo+PidInfo.swift"
      ],
      "target_dependencies" : [
        "AtomicModels",
        "CLTLoggingModels",
        "DateProvider",
        "FileSystem",
        "Kibana",
        "KibanaModels",
        "PathLib",
        "ProcessController",
        "Tmp"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CLTExtensionsTests",
      "module_type" : "SwiftTarget",
      "name" : "CLTExtensionsTests",
      "path" : "Tests/CLTExtensionsTests",
      "sources" : [
        "Array+Comparable_Tests.swift",
        "Array+UniquifyTests.swift",
        "NSLocking+WhileLockedTests.swift",
        "String+UTF8Tests.swift"
      ],
      "target_dependencies" : [
        "CLTCollections",
        "CLTExtensions",
        "TestHelpers"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CLTExtensions",
      "module_type" : "SwiftTarget",
      "name" : "CLTExtensions",
      "path" : "Sources/CLTExtensions",
      "product_memberships" : [
        "CLTExtensions",
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "CLTTypes",
        "Cloc",
        "CommandSupport",
        "Console",
        "ConsoleTestHelpers",
        "Environment",
        "FileSystem",
        "FileSystemTestHelpers",
        "Kibana",
        "KibanaModels",
        "KibanaTestHelpers",
        "PlistLib",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot",
        "TeamcityMessaging",
        "TestHelpers",
        "Tmp",
        "TmpTestHelpers",
        "UserDefaultsLib",
        "UserDefaultsLibTestHelpers",
        "XcodeLocator"
      ],
      "sources" : [
        "Casting.swift",
        "Collections/Array+Comparable.swift",
        "Collections/Array+Uniquify.swift",
        "Collections/Bool+Order.swift",
        "Collections/Collection+OnlyOrTrow.swift",
        "Collections/Collection+Single.swift",
        "Collections/Dictionary+Inverse.swift",
        "Collections/Dictionary+Map.swift",
        "Collections/Sequence+FilterSplit.swift",
        "Collections/Sequence+Grouping.swift",
        "Collections/Sequence+SortingByKey.swift",
        "Collections/Set+PlusOperator.swift",
        "Collections/SetAlgebra+Intersects.swift",
        "DispatchGroup+wait.swift",
        "LinkerSymbolsList.swift",
        "Models/KeyValuePair.swift",
        "NSLocking+WhileLocked.swift",
        "Optional+UnwrapOrThrow.swift",
        "String+LocalizedError.swift",
        "String+UTF8.swift",
        "UrlComponents+Throws.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CLTCollections",
      "module_type" : "SwiftTarget",
      "name" : "CLTCollections",
      "path" : "Sources/CLTCollections",
      "product_memberships" : [
        "CLTCollections"
      ],
      "sources" : [
        "Array+Set.swift",
        "Collection+Concurrency.swift"
      ],
      "target_dependencies" : [
        "Types"
      ],
      "type" : "library"
    },
    {
      "c99name" : "AtomicModels",
      "module_type" : "SwiftTarget",
      "name" : "AtomicModels",
      "path" : "Sources/AtomicModels",
      "product_memberships" : [
        "AtomicModels",
        "CLTLogging",
        "CLTLoggingTestHelpers",
        "Cloc",
        "CommandSupport",
        "Console",
        "ConsoleTestHelpers",
        "JSONStream",
        "MetricsRecording",
        "MetricsTestHelpers",
        "ProcessController",
        "ProcessControllerTestHelpers",
        "RepoRoot",
        "Statsd",
        "SynchronousWaiter",
        "TestHelpers",
        "TmpTestHelpers"
      ],
      "sources" : [
        "AtomicValue.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
basic-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:13a529f31207afe6597b18f20995fc2db944100da935819188c653038756cb1b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.1-latest
Done.