Build Information
Successful build of Noora, reference 0.49.1 (b49330
), with Swift 6.1 for macOS (SPM) on 27 Aug 2025 21:53:26 UTC.
Swift 6 data race errors: 3
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.67.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tuist/noora.git
Reference: 0.49.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/tuist/noora
* tag 0.49.1 -> FETCH_HEAD
HEAD is now at b493303 [Release] Noora CLI 0.49.1
Cloned https://github.com/tuist/noora.git
Revision (git rev-parse @):
b493303b36fb52611958f735e80f464e73699ba0
SUCCESS checkout https://github.com/tuist/noora.git at 0.49.1
Fetching https://github.com/onevcat/Rainbow
Fetching https://github.com/tuist/path
Fetching https://github.com/apple/swift-log from cache
Fetching https://github.com/apple/swift-argument-parser from cache
[1/1335] Fetching rainbow
[215/1704] Fetching rainbow, path
Fetched https://github.com/tuist/path from cache (0.74s)
[748/1335] Fetching rainbow
Fetched https://github.com/onevcat/Rainbow from cache (1.17s)
Fetched https://github.com/apple/swift-argument-parser from cache (1.20s)
Fetched https://github.com/apple/swift-log from cache (1.21s)
Computing version for https://github.com/tuist/path
Computed https://github.com/tuist/path at 0.3.8 (4.48s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.4 (0.51s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (0.54s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.2.0 (2.58s)
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.4
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 4.2.0
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.6.1
Creating working copy for https://github.com/tuist/path
Working copy of https://github.com/tuist/path resolved at 0.3.8
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "noora",
"name": "Noora",
"url": "https://github.com/tuist/noora.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/noora",
"dependencies": [
{
"identity": "rainbow",
"name": "Rainbow",
"url": "https://github.com/onevcat/Rainbow",
"version": "4.2.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Rainbow",
"dependencies": [
]
},
{
"identity": "swift-argument-parser",
"name": "swift-argument-parser",
"url": "https://github.com/apple/swift-argument-parser",
"version": "1.6.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-argument-parser",
"dependencies": [
]
},
{
"identity": "swift-log",
"name": "swift-log",
"url": "https://github.com/apple/swift-log",
"version": "1.6.4",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-log",
"dependencies": [
]
},
{
"identity": "path",
"name": "Path",
"url": "https://github.com/tuist/path",
"version": "0.3.8",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/path",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/tuist/noora.git
[1/13433] Fetching noora
Fetched https://github.com/tuist/noora.git from cache (3.32s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetching https://github.com/onevcat/Rainbow from cache
Fetching https://github.com/apple/swift-log from cache
Fetching https://github.com/tuist/path from cache
Fetched https://github.com/onevcat/Rainbow from cache (0.52s)
Fetched https://github.com/apple/swift-argument-parser from cache (0.53s)
Fetched https://github.com/tuist/path from cache (0.56s)
Fetched https://github.com/apple/swift-log from cache (0.59s)
Computing version for https://github.com/tuist/path
Computed https://github.com/tuist/path at 0.3.8 (0.65s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.4 (0.03s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.6.1 (0.05s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.2.0 (0.03s)
Creating working copy for https://github.com/tuist/noora.git
Working copy of https://github.com/tuist/noora.git resolved at 0.49.1 (b493303)
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 4.2.0
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/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.6.1
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.4
Found 4 product dependencies
- Rainbow
- swift-argument-parser
- swift-log
- Path
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/tuist/noora.git
https://github.com/tuist/noora.git
{
"dependencies" : [
{
"identity" : "rainbow",
"requirement" : {
"range" : [
{
"lower_bound" : "4.2.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/onevcat/Rainbow"
},
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.6.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.4",
"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" : "/Users/admin/builder/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/InfoCommand.swift",
"Commands/MultipleChoicePromptCommand.swift",
"Commands/ProgressBarStepCommand.swift",
"Commands/ProgressStepCommand.swift",
"Commands/SingleChoicePromptCommand.swift",
"Commands/TableCommand.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/MultipleChoicePromptTests.swift",
"Components/NooraTests.swift",
"Components/ProgressBarStepTests.swift",
"Components/ProgressStepTests.swift",
"Components/SingleChoicePromptTests.swift",
"Components/TableTests.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/MultipleChoicePrompt.swift",
"Components/ProgressBarStep.swift",
"Components/ProgressStep.swift",
"Components/SingleChoicePrompt.swift",
"Components/Table/PaginatedTable.swift",
"Components/Table/SelectableTable.swift",
"Components/Table/Table.swift",
"Components/Table/TableColumn.swift",
"Components/Table/TableData.swift",
"Components/Table/TableRenderer.swift",
"Components/Table/TableStyle.swift",
"Components/TextPrompt.swift",
"Components/YesOrNoChoicePrompt.swift",
"Content.swift",
"DataStructures/Stack.swift",
"Extensions/Character+isPrintable.swift",
"Extensions/String+Rainbow.swift",
"Extensions/String+ValidatableError.swift",
"Noora.swift",
"NooraMock.swift",
"StandardPipelineType.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 ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
[1/1] Compiling plugin GenerateManual
[2/2] Compiling plugin GenerateDoccReference
Building for debugging...
[2/16] Write sources
[7/16] Write examples-cli-entitlement.plist
[8/16] Write sources
[10/16] Write swift-version-2F0A5646E1D333AE.txt
[12/40] Compiling Path Path.swift
[13/40] Emitting module Path
[14/40] Emitting module ArgumentParserToolInfo
[15/40] Compiling ArgumentParserToolInfo ToolInfo.swift
[16/86] Compiling Logging MetadataProvider.swift
[17/86] Compiling Logging LogHandler.swift
[18/86] Compiling Logging Locks.swift
[19/86] Compiling Logging Logging.swift
[20/86] Emitting module Logging
[21/86] Compiling Rainbow Style.swift
[22/87] Emitting module ArgumentParser
[23/91] Compiling Rainbow StringGenerator.swift
[24/91] Compiling ArgumentParser InputKey.swift
[25/91] Compiling ArgumentParser InputOrigin.swift
[26/91] Compiling ArgumentParser Name.swift
[27/91] Compiling ArgumentParser Parsed.swift
[28/91] Compiling ArgumentParser ParsedValues.swift
[29/91] Compiling Rainbow String+ConditionalStyling.swift
[30/91] Compiling Rainbow String+Rainbow.swift
[31/91] Compiling ArgumentParser CommandConfiguration.swift
[32/91] Compiling ArgumentParser CommandGroup.swift
[33/91] Compiling ArgumentParser EnumerableFlag.swift
[34/91] Compiling ArgumentParser ExpressibleByArgument.swift
[35/91] Compiling ArgumentParser ParsableArguments.swift
[36/91] Compiling ArgumentParser ArgumentDiscussion.swift
[37/91] Compiling ArgumentParser ArgumentHelp.swift
[38/91] Compiling ArgumentParser ArgumentVisibility.swift
[39/91] Compiling ArgumentParser CompletionKind.swift
[40/91] Compiling ArgumentParser Errors.swift
[41/91] Compiling ArgumentParser NonsenseFlagsValidator.swift
[42/91] Compiling ArgumentParser ParsableArgumentsValidation.swift
[43/91] Compiling ArgumentParser PositionalArgumentsValidator.swift
[44/91] Compiling ArgumentParser UniqueNamesValidator.swift
[45/91] Compiling ArgumentParser Flag.swift
[46/91] Compiling ArgumentParser NameSpecification.swift
[47/91] Compiling ArgumentParser Option.swift
[48/91] Compiling ArgumentParser OptionGroup.swift
[49/91] Compiling ArgumentParser AsyncParsableCommand.swift
[50/91] Compiling ArgumentParser BashCompletionsGenerator.swift
[51/91] Compiling ArgumentParser CompletionsGenerator.swift
[52/91] Compiling ArgumentParser FishCompletionsGenerator.swift
[53/91] Compiling ArgumentParser ZshCompletionsGenerator.swift
[54/91] Compiling ArgumentParser Argument.swift
[55/91] Compiling Rainbow StyledStringBuilder.swift
[56/91] Compiling ArgumentParser ArgumentDecoder.swift
[57/91] Compiling ArgumentParser ArgumentDefinition.swift
[59/91] Compiling ArgumentParser ParsableCommand.swift
[60/91] Compiling ArgumentParser ArgumentSet.swift
[61/91] Compiling ArgumentParser CommandParser.swift
[66/91] Emitting module Rainbow
[67/91] Compiling ArgumentParser MessageInfo.swift
[68/91] Compiling ArgumentParser UsageGenerator.swift
[69/91] Compiling ArgumentParser CollectionExtensions.swift
[70/91] Compiling ArgumentParser Mutex.swift
[71/91] Compiling ArgumentParser Platform.swift
[72/91] Compiling ArgumentParser SequenceExtensions.swift
[73/91] Compiling ArgumentParser StringExtensions.swift
[74/91] Compiling ArgumentParser SwiftExtensions.swift
[75/91] Compiling ArgumentParser Tree.swift
[76/91] Compiling ArgumentParser CodingKeyValidator.swift
[82/91] Compiling ArgumentParser ParserError.swift
[83/91] Compiling ArgumentParser SplitArguments.swift
[84/91] Compiling ArgumentParser DumpHelpGenerator.swift
[85/91] Compiling ArgumentParser HelpCommand.swift
[86/91] Compiling ArgumentParser HelpGenerator.swift
[87/127] Emitting module Noora
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/TableStyle.swift:47:23: warning: static property 'rounded' is not concurrency-safe because non-'Sendable' type 'BorderCharacters' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Characters used for drawing table borders
33 | public struct BorderCharacters {
| `- note: consider making struct 'BorderCharacters' conform to the 'Sendable' protocol
34 | public let horizontal: String
35 | public let vertical: String
:
45 |
46 | /// Rounded Unicode borders
47 | public static let rounded = BorderCharacters(
| |- warning: static property 'rounded' is not concurrency-safe because non-'Sendable' type 'BorderCharacters' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'rounded' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | horizontal: "─",
49 | vertical: "│",
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Content.swift:6: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
4 | public struct Content {
5 | /// The default content instance with standard alert titles and recommendations.
6 | public static var `default` = Content(
| |- 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
7 | errorAlertTitle: "✖ Error",
8 | errorAlertRecommendedTitle: "Sorry this didn’t work. Here’s what to try next",
/Users/admin/builder/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/130] Compiling Noora KeyStrokeListener.swift
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:32:13: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
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
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
/Users/admin/builder/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
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:33:20: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
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
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
/Users/admin/builder/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
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code
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
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code
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
36 | } else {
37 | self.timer?.invalidate()
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code
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
36 | } else {
37 | self.timer?.invalidate()
[89/130] Compiling Noora Renderer.swift
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:32:13: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
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
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
/Users/admin/builder/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
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:33:20: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
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
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
/Users/admin/builder/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
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code
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
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code
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
36 | } else {
37 | self.timer?.invalidate()
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code
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
36 | } else {
37 | self.timer?.invalidate()
[90/130] Compiling Noora Spinner.swift
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:32:13: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
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
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
/Users/admin/builder/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
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:33:20: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
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
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
/Users/admin/builder/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
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code
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
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code
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
36 | } else {
37 | self.timer?.invalidate()
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code
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
36 | } else {
37 | self.timer?.invalidate()
[91/130] Compiling Noora StandardPipelines.swift
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:32:13: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
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
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
/Users/admin/builder/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
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:33:20: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
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
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
/Users/admin/builder/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
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code
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
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code
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
36 | } else {
37 | self.timer?.invalidate()
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code
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
36 | } else {
37 | self.timer?.invalidate()
[92/130] Compiling Noora Table.swift
[93/130] Compiling Noora TableColumn.swift
[94/130] Compiling Noora TableData.swift
[95/130] Compiling Noora TableRenderer.swift
[96/130] Compiling Noora NonEmptyValidationRule.swift
[97/130] Compiling Noora RegexValidationRule.swift
[98/130] Compiling Noora Validator.swift
[99/130] Compiling Noora ValidationError.swift
[100/130] Compiling Noora InputValidating.swift
[101/130] Compiling Noora LengthValidationRule.swift
[102/130] Compiling Noora Terminal.swift
[103/130] Compiling Noora TerminalText.swift
[104/130] Compiling Noora ValidatableError.swift
[105/130] Compiling Noora ValidatableRule.swift
[106/130] Compiling Noora Stack.swift
[107/130] Compiling Noora Character+isPrintable.swift
[108/130] Compiling Noora String+Rainbow.swift
[109/130] Compiling Noora String+ValidatableError.swift
[110/130] Compiling Noora ProgressStep.swift
[111/130] Compiling Noora SingleChoicePrompt.swift
[112/130] Compiling Noora PaginatedTable.swift
[113/130] Compiling Noora SelectableTable.swift
[114/130] Compiling Noora Alert.swift
[115/130] Compiling Noora CollapsibleStep.swift
[116/130] Compiling Noora MultipleChoicePrompt.swift
[117/130] Compiling Noora ProgressBarStep.swift
[118/130] Compiling Noora Noora.swift
/Users/admin/builder/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",
[119/130] Compiling Noora NooraMock.swift
/Users/admin/builder/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",
[120/130] Compiling Noora StandardPipelineType.swift
/Users/admin/builder/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",
[121/130] Compiling Noora Theme.swift
/Users/admin/builder/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",
[122/130] Compiling Noora TableStyle.swift
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/TableStyle.swift:47:23: warning: static property 'rounded' is not concurrency-safe because non-'Sendable' type 'BorderCharacters' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Characters used for drawing table borders
33 | public struct BorderCharacters {
| `- note: consider making struct 'BorderCharacters' conform to the 'Sendable' protocol
34 | public let horizontal: String
35 | public let vertical: String
:
45 |
46 | /// Rounded Unicode borders
47 | public static let rounded = BorderCharacters(
| |- warning: static property 'rounded' is not concurrency-safe because non-'Sendable' type 'BorderCharacters' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'rounded' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | horizontal: "─",
49 | vertical: "│",
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Content.swift:6: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
4 | public struct Content {
5 | /// The default content instance with standard alert titles and recommendations.
6 | public static var `default` = Content(
| |- 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
7 | errorAlertTitle: "✖ Error",
8 | errorAlertRecommendedTitle: "Sorry this didn’t work. Here’s what to try next",
[123/130] Compiling Noora TextPrompt.swift
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/TableStyle.swift:47:23: warning: static property 'rounded' is not concurrency-safe because non-'Sendable' type 'BorderCharacters' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Characters used for drawing table borders
33 | public struct BorderCharacters {
| `- note: consider making struct 'BorderCharacters' conform to the 'Sendable' protocol
34 | public let horizontal: String
35 | public let vertical: String
:
45 |
46 | /// Rounded Unicode borders
47 | public static let rounded = BorderCharacters(
| |- warning: static property 'rounded' is not concurrency-safe because non-'Sendable' type 'BorderCharacters' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'rounded' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | horizontal: "─",
49 | vertical: "│",
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Content.swift:6: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
4 | public struct Content {
5 | /// The default content instance with standard alert titles and recommendations.
6 | public static var `default` = Content(
| |- 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
7 | errorAlertTitle: "✖ Error",
8 | errorAlertRecommendedTitle: "Sorry this didn’t work. Here’s what to try next",
[124/130] Compiling Noora YesOrNoChoicePrompt.swift
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/TableStyle.swift:47:23: warning: static property 'rounded' is not concurrency-safe because non-'Sendable' type 'BorderCharacters' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Characters used for drawing table borders
33 | public struct BorderCharacters {
| `- note: consider making struct 'BorderCharacters' conform to the 'Sendable' protocol
34 | public let horizontal: String
35 | public let vertical: String
:
45 |
46 | /// Rounded Unicode borders
47 | public static let rounded = BorderCharacters(
| |- warning: static property 'rounded' is not concurrency-safe because non-'Sendable' type 'BorderCharacters' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'rounded' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | horizontal: "─",
49 | vertical: "│",
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Content.swift:6: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
4 | public struct Content {
5 | /// The default content instance with standard alert titles and recommendations.
6 | public static var `default` = Content(
| |- 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
7 | errorAlertTitle: "✖ Error",
8 | errorAlertRecommendedTitle: "Sorry this didn’t work. Here’s what to try next",
[125/130] Compiling Noora Content.swift
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/TableStyle.swift:47:23: warning: static property 'rounded' is not concurrency-safe because non-'Sendable' type 'BorderCharacters' may have shared mutable state; this is an error in the Swift 6 language mode
31 |
32 | /// Characters used for drawing table borders
33 | public struct BorderCharacters {
| `- note: consider making struct 'BorderCharacters' conform to the 'Sendable' protocol
34 | public let horizontal: String
35 | public let vertical: String
:
45 |
46 | /// Rounded Unicode borders
47 | public static let rounded = BorderCharacters(
| |- warning: static property 'rounded' is not concurrency-safe because non-'Sendable' type 'BorderCharacters' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'rounded' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | horizontal: "─",
49 | vertical: "│",
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Content.swift:6: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
4 | public struct Content {
5 | /// The default content instance with standard alert titles and recommendations.
6 | public static var `default` = Content(
| |- 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
7 | errorAlertTitle: "✖ Error",
8 | errorAlertRecommendedTitle: "Sorry this didn’t work. Here’s what to try next",
[125/130] Write Objects.LinkFileList
/Applications/Xcode-16.3.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: warning duplicate member name 'String+Rainbow.swift.o' from '/Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Noora.build/String+Rainbow.swift.o(String+Rainbow.swift.o)' and '/Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Rainbow.build/String+Rainbow.swift.o(String+Rainbow.swift.o)'
[126/130] Archiving libNoora.a
[128/142] Compiling examples_cli TextPromptCommand.swift
[129/142] Compiling examples_cli ProgressBarStepCommand.swift
[130/142] Compiling examples_cli FormatCommand.swift
[131/142] Compiling examples_cli InfoCommand.swift
[132/142] Compiling examples_cli SingleChoicePromptCommand.swift
/Users/admin/builder/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?",
/Users/admin/builder/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",
[133/142] Compiling examples_cli ProgressStepCommand.swift
[134/142] Compiling examples_cli MultipleChoicePromptCommand.swift
/Users/admin/builder/spi-builder-workspace/cli/Sources/examples-cli/Commands/MultipleChoicePromptCommand.swift:34:62: 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 |
33 | func run() async throws {
34 | let selection: [ProjectTargets] = Noora(theme: Theme.default).multipleChoicePrompt(
| `- 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
35 | title: "Migration",
36 | question: "Select targets for migration to Tuist.",
/Users/admin/builder/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",
[135/142] Emitting module examples_cli
[136/142] Compiling examples_cli YesOrNoChoicePromptCommand.swift
/Users/admin/builder/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?",
/Users/admin/builder/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",
[137/142] Compiling examples_cli TableCommand.swift
[138/142] Compiling examples_cli AlertCommand.swift
[139/142] Compiling examples_cli CollapsibleStepCommand.swift
[140/143] Compiling examples_cli ExamplesCLI.swift
[140/143] Write Objects.LinkFileList
[141/143] Linking examples-cli
[142/143] Applying examples-cli
Build complete! (12.06s)
Build complete.
{
"dependencies" : [
{
"identity" : "rainbow",
"requirement" : {
"range" : [
{
"lower_bound" : "4.2.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/onevcat/Rainbow"
},
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.6.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.4",
"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" : "/Users/admin/builder/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/InfoCommand.swift",
"Commands/MultipleChoicePromptCommand.swift",
"Commands/ProgressBarStepCommand.swift",
"Commands/ProgressStepCommand.swift",
"Commands/SingleChoicePromptCommand.swift",
"Commands/TableCommand.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/MultipleChoicePromptTests.swift",
"Components/NooraTests.swift",
"Components/ProgressBarStepTests.swift",
"Components/ProgressStepTests.swift",
"Components/SingleChoicePromptTests.swift",
"Components/TableTests.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/MultipleChoicePrompt.swift",
"Components/ProgressBarStep.swift",
"Components/ProgressStep.swift",
"Components/SingleChoicePrompt.swift",
"Components/Table/PaginatedTable.swift",
"Components/Table/SelectableTable.swift",
"Components/Table/Table.swift",
"Components/Table/TableColumn.swift",
"Components/Table/TableData.swift",
"Components/Table/TableRenderer.swift",
"Components/Table/TableStyle.swift",
"Components/TextPrompt.swift",
"Components/YesOrNoChoicePrompt.swift",
"Content.swift",
"DataStructures/Stack.swift",
"Extensions/Character+isPrintable.swift",
"Extensions/String+Rainbow.swift",
"Extensions/String+ValidatableError.swift",
"Noora.swift",
"NooraMock.swift",
"StandardPipelineType.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"
}
Done.