Build Information
Successful build of Noora, reference main (4e1be3
), with Swift 6.1 for Linux on 20 Jun 2025 20:20:09 UTC.
Swift 6 data race errors: 1
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tuist/noora.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/tuist/noora
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 4e1be37 [Release] Noora CLI 0.41.0
Cloned https://github.com/tuist/noora.git
Revision (git rev-parse @):
4e1be378778145cc209eea8ebc1880a300168def
SUCCESS checkout https://github.com/tuist/noora.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.1
Building package at path: $PWD
https://github.com/tuist/noora.git
https://github.com/tuist/noora.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
{
"identity" : "rainbow",
"requirement" : {
"range" : [
{
"lower_bound" : "4.1.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/onevcat/Rainbow"
},
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.6.3",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log"
},
{
"identity" : "path",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.8",
"upper_bound" : "0.4.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/tuist/path"
}
],
"manifest_display_name" : "Noora",
"name" : "Noora",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "Noora",
"targets" : [
"Noora"
],
"type" : {
"library" : [
"static"
]
}
},
{
"name" : "examples-cli",
"targets" : [
"examples-cli"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "examples_cli",
"module_type" : "SwiftTarget",
"name" : "examples-cli",
"path" : "cli/Sources/examples-cli",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"examples-cli"
],
"sources" : [
"Commands/AlertCommand.swift",
"Commands/CollapsibleStepCommand.swift",
"Commands/FormatCommand.swift",
"Commands/ProgressBarStepCommand.swift",
"Commands/ProgressStepCommand.swift",
"Commands/SingleChoicePromptCommand.swift",
"Commands/TextPromptCommand.swift",
"Commands/YesOrNoChoicePromptCommand.swift",
"ExamplesCLI.swift"
],
"target_dependencies" : [
"Noora"
],
"type" : "executable"
},
{
"c99name" : "NooraTests",
"module_type" : "SwiftTarget",
"name" : "NooraTests",
"path" : "cli/Tests/NooraTests",
"sources" : [
"Components/CollapsibleStepTests.swift",
"Components/CompletionTests.swift",
"Components/ProgressBarStepTests.swift",
"Components/ProgressStepTests.swift",
"Components/SingleChoicePromptTests.swift",
"Components/TextPromptTests.swift",
"Components/YesOrNoChoicePromptTests.swift",
"Mocks/MockKeyStrokeListener.swift",
"Mocks/MockRenderer.swift",
"Mocks/MockSpinner.swift",
"Mocks/MockStandardPipeline.swift",
"Mocks/MockTerminal.swift",
"Mocks/MockValidator.swift",
"NooraTheme+Test.swift",
"Utilities/NooraMockTests.swift",
"Utilities/TerminalTextTests.swift",
"Validator/LengthValidationRuleTests.swift",
"Validator/NonEmptyValidationRuleTests.swift",
"Validator/RegexValidationRuleTests.swift",
"Validator/ValidatorTests.swift"
],
"target_dependencies" : [
"Noora"
],
"type" : "test"
},
{
"c99name" : "Noora",
"module_type" : "SwiftTarget",
"name" : "Noora",
"path" : "cli/Sources/Noora",
"product_dependencies" : [
"Rainbow",
"Logging",
"Path"
],
"product_memberships" : [
"Noora",
"examples-cli"
],
"sources" : [
"Components/Alert.swift",
"Components/CollapsibleStep.swift",
"Components/ProgressBarStep.swift",
"Components/ProgressStep.swift",
"Components/SingleChoicePrompt.swift",
"Components/TextPrompt.swift",
"Components/YesOrNoChoicePrompt.swift",
"DataStructures/Stack.swift",
"Extensions/Character+isPrintable.swift",
"Extensions/String+Rainbow.swift",
"Extensions/String+ValidatableError.swift",
"Noora.swift",
"NooraMock.swift",
"Theme.swift",
"Utilities/KeyStrokeListener.swift",
"Utilities/Renderer.swift",
"Utilities/Spinner.swift",
"Utilities/StandardPipelines.swift",
"Utilities/Terminal.swift",
"Utilities/TerminalText.swift",
"Validator/Core/ValidatableError.swift",
"Validator/Core/ValidatableRule.swift",
"Validator/Core/ValidationError.swift",
"Validator/InputValidating.swift",
"Validator/Rules/LengthValidationRule.swift",
"Validator/Rules/NonEmptyValidationRule.swift",
"Validator/Rules/RegexValidationRule.swift",
"Validator/Validator.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8.1"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:2e2b3aca8600f890617c2faa770b70e33c1dfd303d6f92b308423b89ef6bde64
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/apple/swift-argument-parser
[1/15380] Fetching swift-argument-parser
Fetching https://github.com/onevcat/Rainbow
Fetching https://github.com/apple/swift-log
Fetching https://github.com/tuist/path
Fetched https://github.com/apple/swift-argument-parser from cache (1.33s)
[1/1196] Fetching rainbow
[1102/1550] Fetching rainbow, path
[1488/5386] Fetching rainbow, path, swift-log
Fetched https://github.com/tuist/path from cache (0.35s)
Fetched https://github.com/onevcat/Rainbow from cache (0.41s)
Fetched https://github.com/apple/swift-log from cache (0.41s)
Computing version for https://github.com/tuist/path
Computed https://github.com/tuist/path at 0.3.8 (5.36s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (1.13s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.1 (1.38s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.1.0 (2.70s)
Creating working copy for https://github.com/tuist/path
Working copy of https://github.com/tuist/path resolved at 0.3.8
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 4.1.0
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.3
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.1
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/20] Write sources
[8/20] Write swift-version-24593BA9C3E375BF.txt
[10/40] Emitting module Rainbow
[11/41] Emitting module ArgumentParserToolInfo
[12/41] Compiling ArgumentParserToolInfo ToolInfo.swift
[14/42] Emitting module Path
[15/42] Compiling Path Path.swift
[16/43] Compiling Rainbow StringGenerator.swift
[17/43] Compiling Rainbow Style.swift
[18/43] Compiling Rainbow String+Rainbow.swift
[19/43] Wrapping AST for ArgumentParserToolInfo for debugging
[20/81] Wrapping AST for Path for debugging
[22/81] Compiling Logging MetadataProvider.swift
[23/81] Compiling Logging LogHandler.swift
[24/81] Compiling Logging Logging.swift
[25/81] Emitting module Logging
[26/81] Compiling Logging Locks.swift
[28/82] Compiling ArgumentParser BashCompletionsGenerator.swift
[29/82] Compiling ArgumentParser CompletionsGenerator.swift
[30/82] Compiling Rainbow OutputTarget.swift
[31/82] Compiling ArgumentParser Argument.swift
[32/82] Compiling ArgumentParser ArgumentHelp.swift
[33/82] Compiling ArgumentParser FishCompletionsGenerator.swift
[34/82] Compiling ArgumentParser ZshCompletionsGenerator.swift
[35/82] Compiling Rainbow Rainbow.swift
[37/83] Compiling ArgumentParser OptionGroup.swift
[38/83] Compiling ArgumentParser AsyncParsableCommand.swift
[39/83] Compiling ArgumentParser CommandConfiguration.swift
[40/83] Compiling ArgumentParser CommandGroup.swift
[41/83] Compiling ArgumentParser EnumerableFlag.swift
[41/88] Wrapping AST for Logging for debugging
[42/88] Wrapping AST for Rainbow for debugging
[44/101] Emitting module ArgumentParser
[45/114] Emitting module Noora
/host/spi-builder-workspace/cli/Sources/Noora/Theme.swift:7:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public struct Theme {
6 | /// Noora's default theme.
7 | public static var `default` = Theme(
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
8 | primary: "A378F2",
9 | secondary: "FF4081",
[46/117] Compiling Noora ValidationError.swift
[47/117] Compiling Noora InputValidating.swift
[48/117] Compiling Noora LengthValidationRule.swift
[49/117] Compiling ArgumentParser CollectionExtensions.swift
[50/117] Compiling ArgumentParser Platform.swift
[51/117] Compiling ArgumentParser SequenceExtensions.swift
[52/117] Compiling ArgumentParser StringExtensions.swift
[53/117] Compiling ArgumentParser Tree.swift
[54/117] Compiling Noora TerminalText.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/TerminalText.swift:43:17: warning: immutable value 'href' was never used; consider replacing with '_' or removing it
41 | case let .link(
42 | title,
43 | href
| `- warning: immutable value 'href' was never used; consider replacing with '_' or removing it
44 | ): "(\(title))"
45 | case let .primary(primary): primary
[55/117] Compiling Noora ValidatableError.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/TerminalText.swift:43:17: warning: immutable value 'href' was never used; consider replacing with '_' or removing it
41 | case let .link(
42 | title,
43 | href
| `- warning: immutable value 'href' was never used; consider replacing with '_' or removing it
44 | ): "(\(title))"
45 | case let .primary(primary): primary
[56/117] Compiling Noora ValidatableRule.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/TerminalText.swift:43:17: warning: immutable value 'href' was never used; consider replacing with '_' or removing it
41 | case let .link(
42 | title,
43 | href
| `- warning: immutable value 'href' was never used; consider replacing with '_' or removing it
44 | ): "(\(title))"
45 | case let .primary(primary): primary
[57/117] Compiling Noora Spinner.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:32:13: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
30 |
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' 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'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:33:20: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' 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'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
36 | } else {
37 | self.timer?.invalidate()
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
36 | } else {
37 | self.timer?.invalidate()
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/StandardPipelines.swift:27:28: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
25 | public func write(content: String) {
26 | #if os(Linux)
27 | fputs(content, stderr)
| `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
28 | #endif
29 |
/usr/include/stdio.h:145:14: note: var declared here
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
| `- note: var declared here
146 | /* C89/C99 say they're macros. Make them happy. */
147 | #define stdin stdin
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:34:24: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
32 | signal(signalType) { _ in
33 | print("\u{1B}[?25h", terminator: "")
34 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
35 | exit(0)
36 | }
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
| `- note: var declared here
145 | extern FILE *stderr; /* Standard error output stream. */
146 | /* C89/C99 say they're macros. Make them happy. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:51:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
49 | public func hideCursor() {
50 | print("\u{1B}[?25l", terminator: "")
51 | fflush(stdout) // Ensures the escape sequence is sent immediately
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
52 | }
53 |
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
| `- note: var declared here
145 | extern FILE *stderr; /* Standard error output stream. */
146 | /* C89/C99 say they're macros. Make them happy. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:57:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
55 | public func showCursor() {
56 | print("\u{1B}[?25h", terminator: "")
57 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
58 | }
59 |
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
| `- note: var declared here
145 | extern FILE *stderr; /* Standard error output stream. */
146 | /* C89/C99 say they're macros. Make them happy. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:84:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
82 | public func readCharacter() -> Character? {
83 | var term = termios()
84 | tcgetattr(fileno(stdin), &term) // Get terminal attributes
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
85 | var original = term
86 |
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:88:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
86 |
87 | term.c_lflag &= ~tcflag_t(ECHO | ICANON) // Disable echo & canonical mode
88 | tcsetattr(fileno(stdin), TCSANOW, &term) // Apply changes
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
89 |
90 | let char = getchar() // Read single character
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:92:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
90 | let char = getchar() // Read single character
91 |
92 | tcsetattr(fileno(stdin), TCSANOW, &original) // Restore original settings
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
93 | return char != EOF ? Character(UnicodeScalar(UInt8(char))) : nil
94 | }
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:118:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
116 | public func readCharacterNonBlocking() -> Character? {
117 | var term = termios()
118 | tcgetattr(fileno(stdin), &term) // Get terminal attributes
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
119 | var original = term
120 |
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:121:34: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
119 | var original = term
120 |
121 | let flags = fcntl(fileno(stdin), F_GETFL)
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
122 | _ = fcntl(fileno(stdin), F_SETFL, flags | O_NONBLOCK) // Set non-blocking mode
123 |
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:122:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
120 |
121 | let flags = fcntl(fileno(stdin), F_GETFL)
122 | _ = fcntl(fileno(stdin), F_SETFL, flags | O_NONBLOCK) // Set non-blocking mode
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
123 |
124 | term.c_lflag &= ~tcflag_t(ECHO | ICANON) // Disable echo & canonical mode
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:125:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
123 |
124 | term.c_lflag &= ~tcflag_t(ECHO | ICANON) // Disable echo & canonical mode
125 | tcsetattr(fileno(stdin), TCSANOW, &term) // Apply changes
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
126 |
127 | let char = getchar() // Read single character
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:129:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
127 | let char = getchar() // Read single character
128 |
129 | _ = fcntl(fileno(stdin), F_SETFL, flags)
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
130 | tcsetattr(fileno(stdin), TCSANOW, &original) // Restore original settings
131 |
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:130:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
128 |
129 | _ = fcntl(fileno(stdin), F_SETFL, flags)
130 | tcsetattr(fileno(stdin), TCSANOW, &original) // Restore original settings
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
131 |
132 | return char != EOF ? Character(UnicodeScalar(UInt8(char))) : nil
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:153:41: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
151 | return true
152 | } else {
153 | let isPiped = isatty(fileno(stdout)) == 0
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
154 | return !isPiped
155 | }
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
| `- note: var declared here
145 | extern FILE *stderr; /* Standard error output stream. */
146 | /* C89/C99 say they're macros. Make them happy. */
[58/117] Compiling Noora StandardPipelines.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:32:13: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
30 |
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' 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'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:33:20: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' 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'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
36 | } else {
37 | self.timer?.invalidate()
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
36 | } else {
37 | self.timer?.invalidate()
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/StandardPipelines.swift:27:28: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
25 | public func write(content: String) {
26 | #if os(Linux)
27 | fputs(content, stderr)
| `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
28 | #endif
29 |
/usr/include/stdio.h:145:14: note: var declared here
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
| `- note: var declared here
146 | /* C89/C99 say they're macros. Make them happy. */
147 | #define stdin stdin
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:34:24: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
32 | signal(signalType) { _ in
33 | print("\u{1B}[?25h", terminator: "")
34 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
35 | exit(0)
36 | }
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
| `- note: var declared here
145 | extern FILE *stderr; /* Standard error output stream. */
146 | /* C89/C99 say they're macros. Make them happy. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:51:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
49 | public func hideCursor() {
50 | print("\u{1B}[?25l", terminator: "")
51 | fflush(stdout) // Ensures the escape sequence is sent immediately
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
52 | }
53 |
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
| `- note: var declared here
145 | extern FILE *stderr; /* Standard error output stream. */
146 | /* C89/C99 say they're macros. Make them happy. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:57:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
55 | public func showCursor() {
56 | print("\u{1B}[?25h", terminator: "")
57 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
58 | }
59 |
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
| `- note: var declared here
145 | extern FILE *stderr; /* Standard error output stream. */
146 | /* C89/C99 say they're macros. Make them happy. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:84:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
82 | public func readCharacter() -> Character? {
83 | var term = termios()
84 | tcgetattr(fileno(stdin), &term) // Get terminal attributes
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
85 | var original = term
86 |
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:88:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
86 |
87 | term.c_lflag &= ~tcflag_t(ECHO | ICANON) // Disable echo & canonical mode
88 | tcsetattr(fileno(stdin), TCSANOW, &term) // Apply changes
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
89 |
90 | let char = getchar() // Read single character
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:92:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
90 | let char = getchar() // Read single character
91 |
92 | tcsetattr(fileno(stdin), TCSANOW, &original) // Restore original settings
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
93 | return char != EOF ? Character(UnicodeScalar(UInt8(char))) : nil
94 | }
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:118:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
116 | public func readCharacterNonBlocking() -> Character? {
117 | var term = termios()
118 | tcgetattr(fileno(stdin), &term) // Get terminal attributes
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
119 | var original = term
120 |
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:121:34: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
119 | var original = term
120 |
121 | let flags = fcntl(fileno(stdin), F_GETFL)
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
122 | _ = fcntl(fileno(stdin), F_SETFL, flags | O_NONBLOCK) // Set non-blocking mode
123 |
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:122:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
120 |
121 | let flags = fcntl(fileno(stdin), F_GETFL)
122 | _ = fcntl(fileno(stdin), F_SETFL, flags | O_NONBLOCK) // Set non-blocking mode
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
123 |
124 | term.c_lflag &= ~tcflag_t(ECHO | ICANON) // Disable echo & canonical mode
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:125:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
123 |
124 | term.c_lflag &= ~tcflag_t(ECHO | ICANON) // Disable echo & canonical mode
125 | tcsetattr(fileno(stdin), TCSANOW, &term) // Apply changes
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
126 |
127 | let char = getchar() // Read single character
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:129:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
127 | let char = getchar() // Read single character
128 |
129 | _ = fcntl(fileno(stdin), F_SETFL, flags)
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
130 | tcsetattr(fileno(stdin), TCSANOW, &original) // Restore original settings
131 |
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:130:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
128 |
129 | _ = fcntl(fileno(stdin), F_SETFL, flags)
130 | tcsetattr(fileno(stdin), TCSANOW, &original) // Restore original settings
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
131 |
132 | return char != EOF ? Character(UnicodeScalar(UInt8(char))) : nil
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:153:41: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
151 | return true
152 | } else {
153 | let isPiped = isatty(fileno(stdout)) == 0
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
154 | return !isPiped
155 | }
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
| `- note: var declared here
145 | extern FILE *stderr; /* Standard error output stream. */
146 | /* C89/C99 say they're macros. Make them happy. */
[59/117] Compiling Noora Terminal.swift
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:32:13: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
30 |
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' 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'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:33:20: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure; this is an error in the Swift 6 language mode
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' 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'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: mutation of captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
36 | } else {
37 | self.timer?.invalidate()
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: reference to captured var 'index' in concurrently-executing code; this is an error in the Swift 6 language mode
36 | } else {
37 | self.timer?.invalidate()
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/StandardPipelines.swift:27:28: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
25 | public func write(content: String) {
26 | #if os(Linux)
27 | fputs(content, stderr)
| `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
28 | #endif
29 |
/usr/include/stdio.h:145:14: note: var declared here
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
| `- note: var declared here
146 | /* C89/C99 say they're macros. Make them happy. */
147 | #define stdin stdin
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:34:24: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
32 | signal(signalType) { _ in
33 | print("\u{1B}[?25h", terminator: "")
34 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
35 | exit(0)
36 | }
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
| `- note: var declared here
145 | extern FILE *stderr; /* Standard error output stream. */
146 | /* C89/C99 say they're macros. Make them happy. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:51:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
49 | public func hideCursor() {
50 | print("\u{1B}[?25l", terminator: "")
51 | fflush(stdout) // Ensures the escape sequence is sent immediately
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
52 | }
53 |
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
| `- note: var declared here
145 | extern FILE *stderr; /* Standard error output stream. */
146 | /* C89/C99 say they're macros. Make them happy. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:57:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
55 | public func showCursor() {
56 | print("\u{1B}[?25h", terminator: "")
57 | fflush(stdout)
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
58 | }
59 |
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
| `- note: var declared here
145 | extern FILE *stderr; /* Standard error output stream. */
146 | /* C89/C99 say they're macros. Make them happy. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:84:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
82 | public func readCharacter() -> Character? {
83 | var term = termios()
84 | tcgetattr(fileno(stdin), &term) // Get terminal attributes
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
85 | var original = term
86 |
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:88:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
86 |
87 | term.c_lflag &= ~tcflag_t(ECHO | ICANON) // Disable echo & canonical mode
88 | tcsetattr(fileno(stdin), TCSANOW, &term) // Apply changes
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
89 |
90 | let char = getchar() // Read single character
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:92:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
90 | let char = getchar() // Read single character
91 |
92 | tcsetattr(fileno(stdin), TCSANOW, &original) // Restore original settings
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
93 | return char != EOF ? Character(UnicodeScalar(UInt8(char))) : nil
94 | }
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:118:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
116 | public func readCharacterNonBlocking() -> Character? {
117 | var term = termios()
118 | tcgetattr(fileno(stdin), &term) // Get terminal attributes
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
119 | var original = term
120 |
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:121:34: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
119 | var original = term
120 |
121 | let flags = fcntl(fileno(stdin), F_GETFL)
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
122 | _ = fcntl(fileno(stdin), F_SETFL, flags | O_NONBLOCK) // Set non-blocking mode
123 |
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:122:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
120 |
121 | let flags = fcntl(fileno(stdin), F_GETFL)
122 | _ = fcntl(fileno(stdin), F_SETFL, flags | O_NONBLOCK) // Set non-blocking mode
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
123 |
124 | term.c_lflag &= ~tcflag_t(ECHO | ICANON) // Disable echo & canonical mode
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:125:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
123 |
124 | term.c_lflag &= ~tcflag_t(ECHO | ICANON) // Disable echo & canonical mode
125 | tcsetattr(fileno(stdin), TCSANOW, &term) // Apply changes
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
126 |
127 | let char = getchar() // Read single character
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:129:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
127 | let char = getchar() // Read single character
128 |
129 | _ = fcntl(fileno(stdin), F_SETFL, flags)
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
130 | tcsetattr(fileno(stdin), TCSANOW, &original) // Restore original settings
131 |
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:130:26: warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
128 |
129 | _ = fcntl(fileno(stdin), F_SETFL, flags)
130 | tcsetattr(fileno(stdin), TCSANOW, &original) // Restore original settings
| `- warning: reference to var 'stdin' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
131 |
132 | return char != EOF ? Character(UnicodeScalar(UInt8(char))) : nil
/usr/include/stdio.h:143:14: note: var declared here
141 |
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
| `- note: var declared here
144 | extern FILE *stdout; /* Standard output stream. */
145 | extern FILE *stderr; /* Standard error output stream. */
/host/spi-builder-workspace/cli/Sources/Noora/Utilities/Terminal.swift:153:41: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
151 | return true
152 | } else {
153 | let isPiped = isatty(fileno(stdout)) == 0
| `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
154 | return !isPiped
155 | }
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams. */
143 | extern FILE *stdin; /* Standard input stream. */
144 | extern FILE *stdout; /* Standard output stream. */
| `- note: var declared here
145 | extern FILE *stderr; /* Standard error output stream. */
146 | /* C89/C99 say they're macros. Make them happy. */
[60/117] Compiling Noora NonEmptyValidationRule.swift
[61/117] Compiling Noora RegexValidationRule.swift
[62/117] Compiling Noora Validator.swift
[63/117] Compiling Noora ProgressBarStep.swift
[64/117] Compiling Noora ProgressStep.swift
[65/117] Compiling Noora Character+isPrintable.swift
[66/117] Compiling Noora String+Rainbow.swift
[67/117] Compiling Noora String+ValidatableError.swift
[68/117] Compiling Noora Noora.swift
[69/117] Compiling Noora SingleChoicePrompt.swift
[70/117] Compiling Noora TextPrompt.swift
[71/117] Compiling Noora YesOrNoChoicePrompt.swift
[72/117] Compiling Noora Stack.swift
[73/117] Compiling Noora Alert.swift
[74/117] Compiling Noora CollapsibleStep.swift
[79/117] Compiling Noora NooraMock.swift
/host/spi-builder-workspace/cli/Sources/Noora/Theme.swift:7:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public struct Theme {
6 | /// Noora's default theme.
7 | public static var `default` = Theme(
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
8 | primary: "A378F2",
9 | secondary: "FF4081",
[80/117] Compiling Noora Theme.swift
/host/spi-builder-workspace/cli/Sources/Noora/Theme.swift:7:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public struct Theme {
6 | /// Noora's default theme.
7 | public static var `default` = Theme(
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
8 | primary: "A378F2",
9 | secondary: "FF4081",
[81/117] Compiling Noora KeyStrokeListener.swift
/host/spi-builder-workspace/cli/Sources/Noora/Theme.swift:7:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public struct Theme {
6 | /// Noora's default theme.
7 | public static var `default` = Theme(
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
8 | primary: "A378F2",
9 | secondary: "FF4081",
[82/117] Compiling Noora Renderer.swift
/host/spi-builder-workspace/cli/Sources/Noora/Theme.swift:7:23: warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
5 | public struct Theme {
6 | /// Noora's default theme.
7 | public static var `default` = Theme(
| |- warning: static property 'default' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'default' to a 'let' constant to make 'Sendable' shared state immutable
| |- 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
8 | primary: "A378F2",
9 | secondary: "FF4081",
[88/117] Compiling ArgumentParser DumpHelpGenerator.swift
[89/117] Compiling ArgumentParser HelpCommand.swift
[90/117] Compiling ArgumentParser HelpGenerator.swift
[91/117] Compiling ArgumentParser MessageInfo.swift
[92/117] Compiling ArgumentParser UsageGenerator.swift
[108/118] Compiling ArgumentParser ArgumentSet.swift
[109/118] Compiling ArgumentParser CommandParser.swift
[110/118] Compiling ArgumentParser InputKey.swift
[111/118] Compiling ArgumentParser InputOrigin.swift
[112/119] Wrapping AST for Noora for debugging
[113/119] Write Objects.LinkFileList
[114/119] Archiving libNoora.a
[115/119] Wrapping AST for ArgumentParser for debugging
[117/128] Compiling examples_cli YesOrNoChoicePromptCommand.swift
/host/spi-builder-workspace/cli/Sources/examples-cli/Commands/YesOrNoChoicePromptCommand.swift:12:41: warning: reference to static property 'default' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | func run() async throws {
12 | let answer = Noora(theme: Theme.default).yesOrNoChoicePrompt(
| `- warning: reference to static property 'default' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
13 | title: "Authentication",
14 | question: "Would you like to authenticate with Tuist?",
/host/spi-builder-workspace/cli/Sources/Noora/Theme.swift:7:23: note: static property declared here
5 | public struct Theme {
6 | /// Noora's default theme.
7 | public static var `default` = Theme(
| `- note: static property declared here
8 | primary: "A378F2",
9 | secondary: "FF4081",
[118/129] Compiling examples_cli TextPromptCommand.swift
[119/129] Compiling examples_cli ProgressStepCommand.swift
[120/129] Compiling examples_cli SingleChoicePromptCommand.swift
/host/spi-builder-workspace/cli/Sources/examples-cli/Commands/SingleChoicePromptCommand.swift:31:59: warning: reference to static property 'default' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
29 |
30 | func run() async throws {
31 | let selection: ProjectOption = Noora(theme: Theme.default).singleChoicePrompt(
| `- warning: reference to static property 'default' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
32 | title: "Project",
33 | question: "Would you like to create a new Tuist project or use an existing Xcode project?",
/host/spi-builder-workspace/cli/Sources/Noora/Theme.swift:7:23: note: static property declared here
5 | public struct Theme {
6 | /// Noora's default theme.
7 | public static var `default` = Theme(
| `- note: static property declared here
8 | primary: "A378F2",
9 | secondary: "FF4081",
[121/129] Compiling examples_cli FormatCommand.swift
[122/129] Compiling examples_cli AlertCommand.swift
[123/129] Compiling examples_cli CollapsibleStepCommand.swift
[124/129] Emitting module examples_cli
[125/129] Compiling examples_cli ProgressBarStepCommand.swift
[126/129] Compiling examples_cli ExamplesCLI.swift
[127/130] Wrapping AST for examples-cli for debugging
[128/130] Write Objects.LinkFileList
[129/130] Linking examples-cli
Build complete! (28.23s)
Build complete.
{
"dependencies" : [
{
"identity" : "rainbow",
"requirement" : {
"range" : [
{
"lower_bound" : "4.1.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/onevcat/Rainbow"
},
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.6.3",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log"
},
{
"identity" : "path",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.8",
"upper_bound" : "0.4.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/tuist/path"
}
],
"manifest_display_name" : "Noora",
"name" : "Noora",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "Noora",
"targets" : [
"Noora"
],
"type" : {
"library" : [
"static"
]
}
},
{
"name" : "examples-cli",
"targets" : [
"examples-cli"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "examples_cli",
"module_type" : "SwiftTarget",
"name" : "examples-cli",
"path" : "cli/Sources/examples-cli",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"examples-cli"
],
"sources" : [
"Commands/AlertCommand.swift",
"Commands/CollapsibleStepCommand.swift",
"Commands/FormatCommand.swift",
"Commands/ProgressBarStepCommand.swift",
"Commands/ProgressStepCommand.swift",
"Commands/SingleChoicePromptCommand.swift",
"Commands/TextPromptCommand.swift",
"Commands/YesOrNoChoicePromptCommand.swift",
"ExamplesCLI.swift"
],
"target_dependencies" : [
"Noora"
],
"type" : "executable"
},
{
"c99name" : "NooraTests",
"module_type" : "SwiftTarget",
"name" : "NooraTests",
"path" : "cli/Tests/NooraTests",
"sources" : [
"Components/CollapsibleStepTests.swift",
"Components/CompletionTests.swift",
"Components/ProgressBarStepTests.swift",
"Components/ProgressStepTests.swift",
"Components/SingleChoicePromptTests.swift",
"Components/TextPromptTests.swift",
"Components/YesOrNoChoicePromptTests.swift",
"Mocks/MockKeyStrokeListener.swift",
"Mocks/MockRenderer.swift",
"Mocks/MockSpinner.swift",
"Mocks/MockStandardPipeline.swift",
"Mocks/MockTerminal.swift",
"Mocks/MockValidator.swift",
"NooraTheme+Test.swift",
"Utilities/NooraMockTests.swift",
"Utilities/TerminalTextTests.swift",
"Validator/LengthValidationRuleTests.swift",
"Validator/NonEmptyValidationRuleTests.swift",
"Validator/RegexValidationRuleTests.swift",
"Validator/ValidatorTests.swift"
],
"target_dependencies" : [
"Noora"
],
"type" : "test"
},
{
"c99name" : "Noora",
"module_type" : "SwiftTarget",
"name" : "Noora",
"path" : "cli/Sources/Noora",
"product_dependencies" : [
"Rainbow",
"Logging",
"Path"
],
"product_memberships" : [
"Noora",
"examples-cli"
],
"sources" : [
"Components/Alert.swift",
"Components/CollapsibleStep.swift",
"Components/ProgressBarStep.swift",
"Components/ProgressStep.swift",
"Components/SingleChoicePrompt.swift",
"Components/TextPrompt.swift",
"Components/YesOrNoChoicePrompt.swift",
"DataStructures/Stack.swift",
"Extensions/Character+isPrintable.swift",
"Extensions/String+Rainbow.swift",
"Extensions/String+ValidatableError.swift",
"Noora.swift",
"NooraMock.swift",
"Theme.swift",
"Utilities/KeyStrokeListener.swift",
"Utilities/Renderer.swift",
"Utilities/Spinner.swift",
"Utilities/StandardPipelines.swift",
"Utilities/Terminal.swift",
"Utilities/TerminalText.swift",
"Validator/Core/ValidatableError.swift",
"Validator/Core/ValidatableRule.swift",
"Validator/Core/ValidationError.swift",
"Validator/InputValidating.swift",
"Validator/Rules/LengthValidationRule.swift",
"Validator/Rules/NonEmptyValidationRule.swift",
"Validator/Rules/RegexValidationRule.swift",
"Validator/Validator.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8.1"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:2e2b3aca8600f890617c2faa770b70e33c1dfd303d6f92b308423b89ef6bde64
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.