Build Information
Successful build of CommandLineToolkit, reference master (9187d5), with Swift 6.1 for macOS (SPM) on 14 Oct 2026 05:49:31 UTC.
Swift 6 data race errors: 61
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
360 | output.writeln(line.description)
361 | }
362 | backing?.log(
| |- warning: 'log(level:message:metadata:source:file:function:line:)' is deprecated: renamed to 'log(event:)'
| `- note: use 'log(event:)' instead
363 | level: verbositySettings.logLevel,
364 | message: "\(line.description)",
/Users/admin/builder/spi-builder-workspace/Sources/Console/ANSIConsoleHandler/ANSIConsoleHandler.swift:180:35: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
178 | lastRender: .empty,
179 | lastRenderedLines: 0,
180 | terminalSize: terminal.size,
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
181 | lastRenderCursorPos: output.readCursorPos()
182 | )
/Users/admin/builder/spi-builder-workspace/Sources/Console/ANSIConsoleHandler/ANSIConsoleHandler.swift:193:25: warning: sending 'component' risks causing data races; this is an error in the Swift 6 language mode
191 | }
192 |
193 | component.handle(event: event)
| |- warning: sending 'component' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'component' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
194 |
195 | if component.isVisible {
/Users/admin/builder/spi-builder-workspace/Sources/Console/ANSIConsoleHandler/ANSIConsoleHandler.swift:176:65: warning: sending value of non-Sendable type '() async throws -> Value' risks causing data races; this is an error in the Swift 6 language mode
174 | }
175 |
176 | return try await ConsoleContext.current.stateHolder.performInInteractiveMode(file: file, line: line) { @MainActor in
| |- warning: sending value of non-Sendable type '() async throws -> Value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated value of non-Sendable type '() async throws -> Value' to actor-isolated instance method 'performInInteractiveMode(file:line:operation:)' risks causing races in between main actor-isolated and actor-isolated uses
177 | var state: RenderingState = .init(
178 | lastRender: .empty,
/Users/admin/builder/spi-builder-workspace/Sources/Console/ANSIConsoleHandler/ANSIConsoleHandler.swift:202:35: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
200 |
201 | if case .tick = event {
202 | await sleepUntilNextFrame(state: &state)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self' to nonisolated instance method 'sleepUntilNextFrame(state:)' risks causing data races between nonisolated and main actor-isolated uses
203 | }
204 | } while component.isUnfinished
<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
<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
[535/592] Compiling ProcessController EnvironmentValue.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
[536/592] Compiling ProcessController LoggableProcessControllerProvider.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
[537/592] Compiling ProcessController Process+ProcessGroup.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
[538/592] Compiling ProcessController ProcessControllerProvider.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
[539/592] Compiling ProcessController ProcessListener.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
[540/592] Compiling ProcessController ProcessControllerProvider+Shell.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
[541/592] Compiling ProcessController ProcessControllerProvider+Subprocess.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
[542/592] Compiling ProcessController ProcessStatus.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
[543/592] Compiling ProcessController Subprocess.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
<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
[546/592] 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
[547/592] Compiling ProcessController ProcessControllerDependencies.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
[548/592] Compiling ProcessController DefaultProcessController.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
[549/592] Compiling ProcessController DefaultProcessControllerProvider.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
[550/592] Compiling ProcessController Environment.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
[551/592] Emitting module ConsoleTestHelpers
[552/604] Compiling Downloader DownloaderImpl.swift
/Users/admin/builder/spi-builder-workspace/Sources/Downloader/DownloaderImpl.swift:30:27: warning: capture of 'self' with non-sendable type 'DownloaderImpl?' in a '@Sendable' closure
4 | import PathLib
5 |
6 | public final class DownloaderImpl: Downloader {
| `- note: class 'DownloaderImpl' does not conform to the 'Sendable' protocol
7 | private struct NoFileURL: Error, CustomStringConvertible {
8 | let description = "No File URL provided in completion handler"
:
28 | queue: callbackQueue,
29 | closure: { [weak self] progress in
30 | guard let self else { return }
| `- warning: capture of 'self' with non-sendable type 'DownloaderImpl?' in a '@Sendable' closure
31 | let downloadProgress = self.calculateProgressFrom(startedAt: downloadStartedAt, progress: progress)
32 | progressHandler(downloadProgress)
/Users/admin/builder/spi-builder-workspace/Sources/Downloader/DownloaderImpl.swift:32:17: warning: capture of 'progressHandler' with non-sendable type '(DownloadProgress) -> ()' in a '@Sendable' closure
30 | guard let self else { return }
31 | let downloadProgress = self.calculateProgressFrom(startedAt: downloadStartedAt, progress: progress)
32 | progressHandler(downloadProgress)
| |- warning: capture of 'progressHandler' with non-sendable type '(DownloadProgress) -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
33 | }
34 | ).response(
/Users/admin/builder/spi-builder-workspace/Sources/Downloader/DownloaderImpl.swift:44:21: warning: capture of 'completion' with non-sendable type '(Result<AbsolutePath, any Error>) -> ()' in a '@Sendable' closure
42 | }
43 | callbackQueue.async {
44 | completion(response.result)
| |- warning: capture of 'completion' with non-sendable type '(Result<AbsolutePath, any Error>) -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/Downloader/DownloaderImpl.swift:44:21: warning: capture of 'completion' with non-sendable type '(Result<AbsolutePath, any Error>) -> ()' in a '@Sendable' closure
42 | }
43 | callbackQueue.async {
44 | completion(response.result)
| |- warning: capture of 'completion' with non-sendable type '(Result<AbsolutePath, any Error>) -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 | }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/Downloader/DownloaderImpl.swift:58:14: 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
56 | request.validate()
57 |
58 | Task {
| `- 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
59 | for await progress in request.downloadProgress() {
60 | let downloadProgress = calculateProgressFrom(startedAt: downloadStartedAt, progress: progress)
| `- note: closure captures 'self' which is accessible to code in the current task
61 | progressHandler(downloadProgress)
62 | }
[553/604] Compiling Downloader Downloader.swift
[554/604] Emitting module Downloader
[555/604] Compiling Downloader DownloaderModuleDependencies.swift
[556/604] Compiling ConsoleTestHelpers TestCLI.swift
[561/606] Emitting module ProcessController
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/AutomaticManagement.swift:53:23: warning: static property 'noManagement' is not concurrency-safe because non-'Sendable' type 'AutomaticManagement' may have shared mutable state; this is an error in the Swift 6 language mode
34 | }
35 |
36 | public struct AutomaticManagement: CustomStringConvertible, Equatable {
| `- note: consider making struct 'AutomaticManagement' conform to the 'Sendable' protocol
37 | public let items: [AutomaticManagementItem]
38 |
:
51 | }
52 |
53 | public static let noManagement = AutomaticManagement(items: [])
| |- warning: static property 'noManagement' is not concurrency-safe because non-'Sendable' type 'AutomaticManagement' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'noManagement' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
54 |
55 | public static func multiple(_ items: [AutomaticManagementItem]) -> AutomaticManagement {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessController.swift:28:10: warning: associated value 'unexpectedProcessStatus(name:arguments:pid:processStatus:)' of 'Sendable'-conforming enum 'ProcessTerminationError' has non-sendable type 'any SubprocessArgument'; this is an error in the Swift 6 language mode
26 |
27 | public enum ProcessTerminationError: Error, CustomStringConvertible {
28 | case unexpectedProcessStatus(
| `- warning: associated value 'unexpectedProcessStatus(name:arguments:pid:processStatus:)' of 'Sendable'-conforming enum 'ProcessTerminationError' has non-sendable type 'any SubprocessArgument'; this is an error in the Swift 6 language mode
29 | name: String,
30 | arguments: [SubprocessArgument],
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/SubprocessArgument.swift:4:17: note: protocol 'SubprocessArgument' does not conform to the 'Sendable' protocol
2 | import PathLib
3 |
4 | public protocol SubprocessArgument {
| `- note: protocol 'SubprocessArgument' does not conform to the 'Sendable' protocol
5 | func stringValue() throws -> String
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessController.swift:28:10: warning: associated value 'unexpectedProcessStatus(name:arguments:pid:processStatus:)' of 'Sendable'-conforming enum 'ProcessTerminationError' has non-sendable type 'ProcessStatus'; this is an error in the Swift 6 language mode
26 |
27 | public enum ProcessTerminationError: Error, CustomStringConvertible {
28 | case unexpectedProcessStatus(
| `- warning: associated value 'unexpectedProcessStatus(name:arguments:pid:processStatus:)' of 'Sendable'-conforming enum 'ProcessTerminationError' has non-sendable type 'ProcessStatus'; this is an error in the Swift 6 language mode
29 | name: String,
30 | arguments: [SubprocessArgument],
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessStatus.swift:3:13: note: consider making enum 'ProcessStatus' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum ProcessStatus: Equatable, CustomStringConvertible {
| `- note: consider making enum 'ProcessStatus' conform to the 'Sendable' protocol
4 | case notStarted
5 | case stillRunning
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessControllerProvider+Shell.swift:166:23: warning: static property 'silent' is not concurrency-safe because non-'Sendable' type 'OutputStreaming' may have shared mutable state; this is an error in the Swift 6 language mode
117 | }
118 |
119 | public struct OutputStreaming: ExpressibleByArrayLiteral {
| `- note: consider making struct 'OutputStreaming' conform to the 'Sendable' protocol
120 | /// Defines how `restream` handles output hidden by the current log level.
121 | public enum HiddenOutputPolicy: Sendable {
:
164 | public static var restream: Self { .restream(name: "process") }
165 |
166 | public static let silent = OutputStreaming { _ in } stderr: { _ in }
| |- warning: static property 'silent' is not concurrency-safe because non-'Sendable' type 'OutputStreaming' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'silent' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
167 |
168 | public static func multiple(_ streams: [OutputStreaming]) -> OutputStreaming {
[562/606] Compiling CommandSupport CompoundAsyncCommandLogic.swift
[563/606] Compiling CommandSupport CommandLogicProvider.swift
[564/606] Compiling CommandSupport ParsableCommand+pathFromRootCommand.swift
[565/607] Compiling CommandSupport CompoundCommandLogic.swift
[566/607] Compiling CommandSupport AsyncCommandLogicProvider.swift
[567/607] Compiling CommandSupport BaseCommand.swift
[568/607] Compiling CommandSupport CommandLogic.swift
[569/607] Compiling CommandSupport CommandDiValidator.swift
[570/607] Emitting module CommandSupport
/Users/admin/builder/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 { "Абсолютный путь" }
/Users/admin/builder/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 |
[571/607] Compiling CommandSupport AbsolutePath+ExpressibleByArgument.swift
/Users/admin/builder/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 { "Абсолютный путь" }
[572/607] Compiling CommandSupport AsyncCommandLogic.swift
/Users/admin/builder/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 { "Абсолютный путь" }
[573/607] Compiling CommandSupport LogOptionsCommand.swift
/Users/admin/builder/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 |
/Users/admin/builder/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 |
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessControllerProvider+Shell.swift:166:23: warning: static property 'silent' is not concurrency-safe because non-'Sendable' type 'OutputStreaming' may have shared mutable state; this is an error in the Swift 6 language mode
117 | }
118 |
119 | public struct OutputStreaming: ExpressibleByArrayLiteral {
| `- note: consider making struct 'OutputStreaming' conform to the 'Sendable' protocol
120 | /// Defines how `restream` handles output hidden by the current log level.
121 | public enum HiddenOutputPolicy: Sendable {
:
164 | public static var restream: Self { .restream(name: "process") }
165 |
166 | public static let silent = OutputStreaming { _ in } stderr: { _ in }
| |- warning: static property 'silent' is not concurrency-safe because non-'Sendable' type 'OutputStreaming' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'silent' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
167 |
168 | public static func multiple(_ streams: [OutputStreaming]) -> OutputStreaming {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessControllerProvider+Shell.swift:166:23: warning: static property 'silent' is not concurrency-safe because non-'Sendable' type 'OutputStreaming' may have shared mutable state; this is an error in the Swift 6 language mode
117 | }
118 |
119 | public struct OutputStreaming: ExpressibleByArrayLiteral {
| `- note: consider making struct 'OutputStreaming' conform to the 'Sendable' protocol
120 | /// Defines how `restream` handles output hidden by the current log level.
121 | public enum HiddenOutputPolicy: Sendable {
:
164 | public static var restream: Self { .restream(name: "process") }
165 |
166 | public static let silent = OutputStreaming { _ in } stderr: { _ in }
| |- warning: static property 'silent' is not concurrency-safe because non-'Sendable' type 'OutputStreaming' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'silent' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
167 |
168 | public static func multiple(_ streams: [OutputStreaming]) -> OutputStreaming {
[580/607] Compiling ProcessController SubprocessArgument.swift
[581/607] Compiling ProcessController SubprocessInfo.swift
[582/607] Compiling CommandSupport TestableCommand.swift
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/AutomaticManagement.swift:53:23: warning: static property 'noManagement' is not concurrency-safe because non-'Sendable' type 'AutomaticManagement' may have shared mutable state; this is an error in the Swift 6 language mode
34 | }
35 |
36 | public struct AutomaticManagement: CustomStringConvertible, Equatable {
| `- note: consider making struct 'AutomaticManagement' conform to the 'Sendable' protocol
37 | public let items: [AutomaticManagementItem]
38 |
:
51 | }
52 |
53 | public static let noManagement = AutomaticManagement(items: [])
| |- warning: static property 'noManagement' is not concurrency-safe because non-'Sendable' type 'AutomaticManagement' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'noManagement' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
54 |
55 | public static func multiple(_ items: [AutomaticManagementItem]) -> AutomaticManagement {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/AutomaticManagement.swift:53:23: warning: static property 'noManagement' is not concurrency-safe because non-'Sendable' type 'AutomaticManagement' may have shared mutable state; this is an error in the Swift 6 language mode
34 | }
35 |
36 | public struct AutomaticManagement: CustomStringConvertible, Equatable {
| `- note: consider making struct 'AutomaticManagement' conform to the 'Sendable' protocol
37 | public let items: [AutomaticManagementItem]
38 |
:
51 | }
52 |
53 | public static let noManagement = AutomaticManagement(items: [])
| |- warning: static property 'noManagement' is not concurrency-safe because non-'Sendable' type 'AutomaticManagement' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'noManagement' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
54 |
55 | public static func multiple(_ items: [AutomaticManagementItem]) -> AutomaticManagement {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/AutomaticManagement.swift:53:23: warning: static property 'noManagement' is not concurrency-safe because non-'Sendable' type 'AutomaticManagement' may have shared mutable state; this is an error in the Swift 6 language mode
34 | }
35 |
36 | public struct AutomaticManagement: CustomStringConvertible, Equatable {
| `- note: consider making struct 'AutomaticManagement' conform to the 'Sendable' protocol
37 | public let items: [AutomaticManagementItem]
38 |
:
51 | }
52 |
53 | public static let noManagement = AutomaticManagement(items: [])
| |- warning: static property 'noManagement' is not concurrency-safe because non-'Sendable' type 'AutomaticManagement' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'noManagement' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
54 |
55 | public static func multiple(_ items: [AutomaticManagementItem]) -> AutomaticManagement {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessController.swift:28:10: warning: associated value 'unexpectedProcessStatus(name:arguments:pid:processStatus:)' of 'Sendable'-conforming enum 'ProcessTerminationError' has non-sendable type 'any SubprocessArgument'; this is an error in the Swift 6 language mode
26 |
27 | public enum ProcessTerminationError: Error, CustomStringConvertible {
28 | case unexpectedProcessStatus(
| `- warning: associated value 'unexpectedProcessStatus(name:arguments:pid:processStatus:)' of 'Sendable'-conforming enum 'ProcessTerminationError' has non-sendable type 'any SubprocessArgument'; this is an error in the Swift 6 language mode
29 | name: String,
30 | arguments: [SubprocessArgument],
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/SubprocessArgument.swift:4:17: note: protocol 'SubprocessArgument' does not conform to the 'Sendable' protocol
2 | import PathLib
3 |
4 | public protocol SubprocessArgument {
| `- note: protocol 'SubprocessArgument' does not conform to the 'Sendable' protocol
5 | func stringValue() throws -> String
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessController.swift:28:10: warning: associated value 'unexpectedProcessStatus(name:arguments:pid:processStatus:)' of 'Sendable'-conforming enum 'ProcessTerminationError' has non-sendable type 'ProcessStatus'; this is an error in the Swift 6 language mode
26 |
27 | public enum ProcessTerminationError: Error, CustomStringConvertible {
28 | case unexpectedProcessStatus(
| `- warning: associated value 'unexpectedProcessStatus(name:arguments:pid:processStatus:)' of 'Sendable'-conforming enum 'ProcessTerminationError' has non-sendable type 'ProcessStatus'; this is an error in the Swift 6 language mode
29 | name: String,
30 | arguments: [SubprocessArgument],
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessStatus.swift:3:13: note: consider making enum 'ProcessStatus' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum ProcessStatus: Equatable, CustomStringConvertible {
| `- note: consider making enum 'ProcessStatus' conform to the 'Sendable' protocol
4 | case notStarted
5 | case stillRunning
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessController.swift:55:13: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
53 | await waitForProcessToDieAsync()
54 | } onCancel: {
55 | send(signal: SIGINT)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
56 | }
57 | }
ProcessController.ProcessController.Self:2:1: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
1 | protocol ProcessController {
2 | Self : ProcessController.ProcessController}
| `- note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
3 |
[589/607] Compiling ProcessController ProcessControllerError.swift
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessController.swift:28:10: warning: associated value 'unexpectedProcessStatus(name:arguments:pid:processStatus:)' of 'Sendable'-conforming enum 'ProcessTerminationError' has non-sendable type 'any SubprocessArgument'; this is an error in the Swift 6 language mode
26 |
27 | public enum ProcessTerminationError: Error, CustomStringConvertible {
28 | case unexpectedProcessStatus(
| `- warning: associated value 'unexpectedProcessStatus(name:arguments:pid:processStatus:)' of 'Sendable'-conforming enum 'ProcessTerminationError' has non-sendable type 'any SubprocessArgument'; this is an error in the Swift 6 language mode
29 | name: String,
30 | arguments: [SubprocessArgument],
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/SubprocessArgument.swift:4:17: note: protocol 'SubprocessArgument' does not conform to the 'Sendable' protocol
2 | import PathLib
3 |
4 | public protocol SubprocessArgument {
| `- note: protocol 'SubprocessArgument' does not conform to the 'Sendable' protocol
5 | func stringValue() throws -> String
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessController.swift:28:10: warning: associated value 'unexpectedProcessStatus(name:arguments:pid:processStatus:)' of 'Sendable'-conforming enum 'ProcessTerminationError' has non-sendable type 'ProcessStatus'; this is an error in the Swift 6 language mode
26 |
27 | public enum ProcessTerminationError: Error, CustomStringConvertible {
28 | case unexpectedProcessStatus(
| `- warning: associated value 'unexpectedProcessStatus(name:arguments:pid:processStatus:)' of 'Sendable'-conforming enum 'ProcessTerminationError' has non-sendable type 'ProcessStatus'; this is an error in the Swift 6 language mode
29 | name: String,
30 | arguments: [SubprocessArgument],
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessStatus.swift:3:13: note: consider making enum 'ProcessStatus' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public enum ProcessStatus: Equatable, CustomStringConvertible {
| `- note: consider making enum 'ProcessStatus' conform to the 'Sendable' protocol
4 | case notStarted
5 | case stillRunning
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/ProcessController.swift:55:13: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
53 | await waitForProcessToDieAsync()
54 | } onCancel: {
55 | send(signal: SIGINT)
| `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure; this is an error in the Swift 6 language mode
56 | }
57 | }
ProcessController.ProcessController.Self:2:1: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
1 | protocol ProcessController {
2 | Self : ProcessController.ProcessController}
| `- note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
3 |
/Users/admin/builder/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()
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:118:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
119 |
120 | for listenerWrapper in strongSelf.startListeners {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:124:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
125 | }
126 | }
/Users/admin/builder/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
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
125 | }
126 | }
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:170:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
171 |
172 | for listenerWrapper in strongSelf.signalListeners {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:177:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
178 | }
179 | }
/Users/admin/builder/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
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
178 | }
179 | }
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:228:40: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
229 | strongSelf.forceKillProcess(onKill: onKill)
230 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:229:53: warning: capture of 'onKill' with non-sendable type '() -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
230 | }
231 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:244:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
245 |
246 | for listenerWrapper in strongSelf.terminationListeners {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:251:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
252 | }
253 | }
/Users/admin/builder/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
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
252 | }
253 | }
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:259:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
260 | strongSelf.processTerminationHandlerGroup.leave()
261 | }
/Users/admin/builder/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)
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:318:21: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
319 | }
320 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:335:21: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
336 | }
337 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:361:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
362 |
363 | for listenerWrapper in strongSelf.stdoutListeners {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:368:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
369 | }
370 | }
/Users/admin/builder/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
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
369 | }
370 | }
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:378:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
379 |
380 | for listenerWrapper in strongSelf.stderrListeners {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:385:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
386 | }
387 | }
/Users/admin/builder/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
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
386 | }
387 | }
/Users/admin/builder/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 | }
/Users/admin/builder/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 {
/Users/admin/builder/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()
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:118:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
119 |
120 | for listenerWrapper in strongSelf.startListeners {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:124:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
125 | }
126 | }
/Users/admin/builder/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
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
125 | }
126 | }
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:170:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
171 |
172 | for listenerWrapper in strongSelf.signalListeners {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:177:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
178 | }
179 | }
/Users/admin/builder/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
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
178 | }
179 | }
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:228:40: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
229 | strongSelf.forceKillProcess(onKill: onKill)
230 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:229:53: warning: capture of 'onKill' with non-sendable type '() -> ()' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
230 | }
231 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:244:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
245 |
246 | for listenerWrapper in strongSelf.terminationListeners {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:251:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
252 | }
253 | }
/Users/admin/builder/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
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
252 | }
253 | }
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:259:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
260 | strongSelf.processTerminationHandlerGroup.leave()
261 | }
/Users/admin/builder/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)
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:318:21: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
319 | }
320 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:335:21: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
336 | }
337 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:361:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
362 |
363 | for listenerWrapper in strongSelf.stdoutListeners {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:368:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
369 | }
370 | }
/Users/admin/builder/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
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
369 | }
370 | }
/Users/admin/builder/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:378:36: warning: capture of 'self' with non-sendable type 'DefaultProcessController?' in a '@Sendable' closure
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
379 |
380 | for listenerWrapper in strongSelf.stderrListeners {
/Users/admin/builder/spi-builder-workspace/Sources/ProcessController/DefaultProcessController.swift:385:25: warning: capture of 'strongSelf' with non-sendable type 'DefaultProcessController' in a '@Sendable' closure
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
386 | }
387 | }
/Users/admin/builder/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
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
386 | }
387 | }
/Users/admin/builder/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 | }
/Users/admin/builder/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 {
[592/642] Compiling RepoRoot MarkerFileRepoRootProvider.swift
[593/643] Compiling RepoRoot GitRepoRootProvider.swift
[594/643] Emitting module Cloc
[595/643] Compiling Cloc ClocTool.swift
[596/643] Compiling Cloc Cloc.swift
[597/643] Compiling RepoRoot CurrentExecutableRepoRootProvider.swift
[598/643] Compiling RepoRoot CachingRepoRootProvider.swift
[599/643] Compiling RepoRoot ClosureRepoRootProvider.swift
[600/643] Compiling RepoRoot MarkerFileRepoRootProviderFactory.swift
[601/643] Compiling CLTLogging ContextualLogger+Levels.swift
[602/643] Compiling CLTLogging ContextualLogger+ProcessController.swift
[603/643] Emitting module RepoRoot
[604/643] Compiling RepoRoot GitRepoRootProviderFactory.swift
[605/643] Compiling CLTLogging AggregatedLoggerHandler.swift
[606/643] Compiling CLTLogging ChildProcessLogsContainerProvider.swift
[607/643] Compiling CLTLogging NoOpLoggerHandler.swift
[608/643] Compiling CLTLogging RedirectingLoggerHandler.swift
[609/644] Compiling RepoRoot WorkdirRepoRootProvider.swift
[610/644] Emitting module ProcessControllerTestHelpers
[611/644] Compiling ProcessControllerTestHelpers FakeProcessController.swift
[612/644] Compiling ProcessControllerTestHelpers FakeProcessControllerProvider.swift
[613/644] Emitting module CLTLogging
/Users/admin/builder/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: []),
[614/644] Compiling CLTLogging FileSystem+Logging.swift
[615/644] Compiling CLTLogging KibanaHandler.swift
[616/644] Compiling CLTLogging FileHandleLoggerHandler.swift
[617/644] Compiling CLTLogging FileState.swift
[618/644] Compiling CLTLogging LimitingLoggerHandler.swift
[619/644] Compiling CLTLogging Logger+TypedInit.swift
[620/644] Compiling CLTLogging LoggerHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:140:21: warning: capture of 'logsEnumerator' with non-sendable type 'any FileSystemEnumerator' in a '@Sendable' closure
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
141 | guard path.extension == self.logFileExtension else { return }
142 | let modificationDate = try self.fileSystem.properties(path: path).modificationDate.get()
/Users/admin/builder/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 | }
/Users/admin/builder/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
/Users/admin/builder/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:141:45: warning: capture of 'self' with non-sendable type 'LoggingSetup' in a '@Sendable' closure
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
142 | let modificationDate = try self.fileSystem.properties(path: path).modificationDate.get()
143 | if modificationDate < date {
/Users/admin/builder/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:147:29: warning: capture of 'logger' with non-sendable type 'ContextualLogger' in a '@Sendable' closure
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
148 | }
149 | }
/Users/admin/builder/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
/Users/admin/builder/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:151:17: warning: capture of 'completion' with non-sendable type '((any Error)?) -> ()' in a '@Sendable' closure
149 | }
150 | }
151 | completion(nil)
| |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
152 | } catch {
153 | completion(error)
/Users/admin/builder/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 {
/Users/admin/builder/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 | }
/Users/admin/builder/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
[621/644] Compiling CLTLogging LoggingSetup.swift
/Users/admin/builder/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:140:21: warning: capture of 'logsEnumerator' with non-sendable type 'any FileSystemEnumerator' in a '@Sendable' closure
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
141 | guard path.extension == self.logFileExtension else { return }
142 | let modificationDate = try self.fileSystem.properties(path: path).modificationDate.get()
/Users/admin/builder/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 | }
/Users/admin/builder/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
/Users/admin/builder/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:141:45: warning: capture of 'self' with non-sendable type 'LoggingSetup' in a '@Sendable' closure
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
142 | let modificationDate = try self.fileSystem.properties(path: path).modificationDate.get()
143 | if modificationDate < date {
/Users/admin/builder/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:147:29: warning: capture of 'logger' with non-sendable type 'ContextualLogger' in a '@Sendable' closure
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
148 | }
149 | }
/Users/admin/builder/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
/Users/admin/builder/spi-builder-workspace/Sources/CLTLogging/LoggingSetup.swift:151:17: warning: capture of 'completion' with non-sendable type '((any Error)?) -> ()' in a '@Sendable' closure
149 | }
150 | }
151 | completion(nil)
| |- warning: capture of 'completion' with non-sendable type '((any Error)?) -> ()' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
152 | } catch {
153 | completion(error)
/Users/admin/builder/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 {
/Users/admin/builder/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 | }
/Users/admin/builder/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
[624/644] Compiling CLTLogging ContextualLogger.swift
/Users/admin/builder/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: []),
[625/644] Compiling CLTLogging FileHandle+TextOutputStream.swift
/Users/admin/builder/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: []),
/Users/admin/builder/spi-builder-workspace/Sources/CLTLogging/AggregatedLoggerHandler.swift:36:17: warning: capture of 'handler' with non-sendable type 'any LoggerHandler' in a '@Sendable' closure
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
37 | }
38 | }
/Users/admin/builder/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)
/Users/admin/builder/spi-builder-workspace/Sources/CLTLogging/AggregatedLoggerHandler.swift:36:17: warning: capture of 'handler' with non-sendable type 'any LoggerHandler' in a '@Sendable' closure
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
37 | }
38 | }
/Users/admin/builder/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)
[628/644] Compiling CLTLogging SubprocessInfo+PidInfo.swift
[629/647] Compiling CLTLoggingTestHelpers LogEntryFixture.swift
[630/647] Emitting module CLTLoggingTestHelpers
[631/647] Compiling CLTLoggingTestHelpers FakeLoggerHandler.swift
[632/647] Compiling TestHelpers XCTestCase+WaitForExpectation.swift
[633/647] Compiling TestHelpers XCTestCase+XCTAssertEqualSorted.swift
[634/648] Compiling TestHelpers XCTestCase+Syncronious.swift
[641/648] Emitting module TestHelpers
[648/648] Compiling TestHelpers XCTestCase+testDirectory.swift
[649/650] Emitting module TmpTestHelpers
[650/650] Compiling TmpTestHelpers TmpFixtures.swift
Build complete! (55.49s)
Fetching https://github.com/Kitura/BlueSocket.git
Fetching https://github.com/Bouke/Glob
Fetching https://github.com/IBM-Swift/BlueSignals.git
Fetching https://github.com/jpsim/Yams.git from cache
Fetching https://github.com/pointfreeco/swift-snapshot-testing.git from cache
Fetching https://github.com/apple/swift-log.git from cache
Fetching https://github.com/apple/swift-argument-parser from cache
[1/681] Fetching bluesignals
[29/3623] Fetching bluesignals, bluesocket
[59/3869] Fetching bluesignals, bluesocket, glob
Fetched https://github.com/apple/swift-argument-parser from cache (1.82s)
Fetching https://github.com/Alamofire/Alamofire
[1/32999] Fetching alamofire
Fetched https://github.com/Bouke/Glob from cache (3.44s)
Fetched https://github.com/IBM-Swift/BlueSignals.git from cache (3.44s)
Fetched https://github.com/Kitura/BlueSocket.git from cache (3.45s)
Fetched https://github.com/jpsim/Yams.git from cache (3.47s)
Fetched https://github.com/pointfreeco/swift-snapshot-testing.git from cache (3.50s)
Fetched https://github.com/apple/swift-log.git from cache (3.52s)
Fetched https://github.com/Alamofire/Alamofire from cache (7.35s)
Computing version for https://github.com/Bouke/Glob
Computed https://github.com/Bouke/Glob at 1.0.5 (12.32s)
Computing version for https://github.com/Kitura/BlueSocket.git
Computed https://github.com/Kitura/BlueSocket.git at 1.0.200 (0.61s)
Computing version for https://github.com/IBM-Swift/BlueSignals.git
Computed https://github.com/IBM-Swift/BlueSignals.git at 1.0.200 (0.56s)
Computing version for https://github.com/jpsim/Yams.git
Computed https://github.com/jpsim/Yams.git at 5.4.0 (0.57s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.50s)
Computing version for https://github.com/pointfreeco/swift-snapshot-testing.git
Computed https://github.com/pointfreeco/swift-snapshot-testing.git at 1.19.6 (0.49s)
Fetching https://github.com/pointfreeco/swift-custom-dump from cache
Fetching https://github.com/swiftlang/swift-syntax from cache
Fetched https://github.com/pointfreeco/swift-custom-dump from cache (1.05s)
Fetched https://github.com/swiftlang/swift-syntax from cache (2.90s)
Computing version for https://github.com/pointfreeco/swift-custom-dump
Computed https://github.com/pointfreeco/swift-custom-dump at 1.7.3 (3.44s)
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay from cache
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay from cache (0.89s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay
Computed https://github.com/pointfreeco/xctest-dynamic-overlay at 1.13.1 (3.50s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 604.0.0 (0.65s)
Computing version for https://github.com/Alamofire/Alamofire
Computed https://github.com/Alamofire/Alamofire at 5.12.2 (0.48s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.15.1 (0.46s)
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 604.0.0
Creating working copy for https://github.com/pointfreeco/swift-snapshot-testing.git
Working copy of https://github.com/pointfreeco/swift-snapshot-testing.git resolved at 1.19.6
Creating working copy for https://github.com/IBM-Swift/BlueSignals.git
Working copy of https://github.com/IBM-Swift/BlueSignals.git resolved at 1.0.200
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay resolved at 1.13.1
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.15.1
Creating working copy for https://github.com/pointfreeco/swift-custom-dump
Working copy of https://github.com/pointfreeco/swift-custom-dump resolved at 1.7.3
Creating working copy for https://github.com/Kitura/BlueSocket.git
Working copy of https://github.com/Kitura/BlueSocket.git resolved at 1.0.200
Creating working copy for https://github.com/jpsim/Yams.git
Working copy of https://github.com/jpsim/Yams.git resolved at 5.4.0
Creating working copy for https://github.com/Alamofire/Alamofire
Working copy of https://github.com/Alamofire/Alamofire resolved at 5.12.2
Creating working copy for https://github.com/Bouke/Glob
Working copy of https://github.com/Bouke/Glob resolved at 1.0.5
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" : "/Users/admin/builder/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"
}
Done.