Build Information
Successful build of Rainbow, reference 4.1.0 (0c627a
), with Swift 6.0 for macOS (SPM) on 8 Jan 2025 10:57:16 UTC.
Swift 6 data race errors: 4
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.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.60.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/onevcat/Rainbow.git
Reference: 4.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/onevcat/Rainbow
* tag 4.1.0 -> FETCH_HEAD
HEAD is now at 0c627a4 Upgrade project settings
Cloned https://github.com/onevcat/Rainbow.git
Revision (git rev-parse @):
0c627a4f8a39ef37eadec1ceec02e4a7f55561ac
SUCCESS checkout https://github.com/onevcat/Rainbow.git at 4.1.0
========================================
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": "rainbow",
"name": "Rainbow",
"url": "https://github.com/onevcat/Rainbow.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Rainbow",
"dependencies": [
]
}
]
}
Fetching https://github.com/onevcat/Rainbow.git
[1/1173] Fetching rainbow
Fetched https://github.com/onevcat/Rainbow.git from cache (0.96s)
Creating working copy for https://github.com/onevcat/Rainbow.git
Working copy of https://github.com/onevcat/Rainbow.git resolved at 4.1.0 (0c627a4)
warning: '.resolve-product-dependencies': dependency 'rainbow' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/onevcat/Rainbow.git
https://github.com/onevcat/Rainbow.git
{
"dependencies" : [
],
"manifest_display_name" : "Rainbow",
"name" : "Rainbow",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Rainbow",
"targets" : [
"Rainbow"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "RainbowPlayground",
"targets" : [
"RainbowPlayground"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "RainbowTests",
"module_type" : "SwiftTarget",
"name" : "RainbowTests",
"path" : "Tests",
"sources" : [
"RainbowTests/ColorApproximatedTests.swift",
"RainbowTests/ColorTests.swift",
"RainbowTests/ConsoleStringTests.swift",
"RainbowTests/ConsoleTextParserTests.swift",
"RainbowTests/RainbowTests.swift"
],
"target_dependencies" : [
"Rainbow"
],
"type" : "test"
},
{
"c99name" : "RainbowPlayground",
"module_type" : "SwiftTarget",
"name" : "RainbowPlayground",
"path" : "Playground",
"product_memberships" : [
"RainbowPlayground"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"Rainbow"
],
"type" : "executable"
},
{
"c99name" : "Rainbow",
"module_type" : "SwiftTarget",
"name" : "Rainbow",
"path" : "Sources",
"product_memberships" : [
"Rainbow",
"RainbowPlayground"
],
"sources" : [
"BackgroundColor.swift",
"CodesParser.swift",
"Color.swift",
"ColorApproximation.swift",
"ControlCode.swift",
"ModesExtractor.swift",
"OutputTarget.swift",
"Rainbow.swift",
"String+Rainbow.swift",
"StringGenerator.swift",
"Style.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.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
Building for debugging...
[0/7] Write sources
[2/7] Write RainbowPlayground-entitlement.plist
[3/7] Write swift-version-5BDAB9E9C0126B9D.txt
[5/18] Compiling Rainbow String+Rainbow.swift
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:121:23: warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
119 | /// set and `FORCE_COLOR` not set to a valid value ("0" or empty value is treated as "unset". `FORCE_COLOR` has
120 | /// higher priority than `NO_COLOR` if set).
121 | public static var enabled = environmentAvailable
| |- warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enabled' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
122 |
123 | public static func extractEntry(for string: String) -> Entry {
[6/19] Compiling Rainbow Style.swift
[7/19] Compiling Rainbow StringGenerator.swift
[8/19] Compiling Rainbow Rainbow.swift
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:98:23: warning: static property 'outputTarget' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
96 | /// Output target for `Rainbow`. `Rainbow` should detect correct target itself, so you rarely need to set it.
97 | /// However, if you want the colorized string to be different, or the detection is not correct, you can set it manually.
98 | public static var outputTarget = OutputTarget.current
| |- warning: static property 'outputTarget' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'outputTarget' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'outputTarget' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
99 |
100 | static var environment = ProcessInfo.processInfo.environment
/Users/admin/builder/spi-builder-workspace/Sources/OutputTarget.swift:46:16: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | /// Detected output target by current environment.
46 | static var current: OutputTarget = {
| |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 | // Check if we are in any term env and the output is a tty.
48 | let termType = getEnvValue("TERM")
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:100:16: warning: static property 'environment' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
98 | public static var outputTarget = OutputTarget.current
99 |
100 | static var environment = ProcessInfo.processInfo.environment
| |- warning: static property 'environment' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'environment' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'environment' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | static func hasValidValueInEnvironment(_ key: String) -> Bool {
102 | guard !key.isEmpty, let value = environment[key] else {
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:121:23: warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
119 | /// set and `FORCE_COLOR` not set to a valid value ("0" or empty value is treated as "unset". `FORCE_COLOR` has
120 | /// higher priority than `NO_COLOR` if set).
121 | public static var enabled = environmentAvailable
| |- warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enabled' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
122 |
123 | public static func extractEntry(for string: String) -> Entry {
[9/19] Emitting module Rainbow
/Users/admin/builder/spi-builder-workspace/Sources/OutputTarget.swift:46:16: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | /// Detected output target by current environment.
46 | static var current: OutputTarget = {
| |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 | // Check if we are in any term env and the output is a tty.
48 | let termType = getEnvValue("TERM")
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:98:23: warning: static property 'outputTarget' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
96 | /// Output target for `Rainbow`. `Rainbow` should detect correct target itself, so you rarely need to set it.
97 | /// However, if you want the colorized string to be different, or the detection is not correct, you can set it manually.
98 | public static var outputTarget = OutputTarget.current
| |- warning: static property 'outputTarget' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'outputTarget' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'outputTarget' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
99 |
100 | static var environment = ProcessInfo.processInfo.environment
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:100:16: warning: static property 'environment' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
98 | public static var outputTarget = OutputTarget.current
99 |
100 | static var environment = ProcessInfo.processInfo.environment
| |- warning: static property 'environment' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'environment' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'environment' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | static func hasValidValueInEnvironment(_ key: String) -> Bool {
102 | guard !key.isEmpty, let value = environment[key] else {
/Users/admin/builder/spi-builder-workspace/Sources/Rainbow.swift:121:23: warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
119 | /// set and `FORCE_COLOR` not set to a valid value ("0" or empty value is treated as "unset". `FORCE_COLOR` has
120 | /// higher priority than `NO_COLOR` if set).
121 | public static var enabled = environmentAvailable
| |- warning: static property 'enabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'enabled' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'enabled' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
122 |
123 | public static func extractEntry(for string: String) -> Entry {
[10/19] Compiling Rainbow Color.swift
[11/19] Compiling Rainbow ModesExtractor.swift
[12/19] Compiling Rainbow OutputTarget.swift
/Users/admin/builder/spi-builder-workspace/Sources/OutputTarget.swift:46:16: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | /// Detected output target by current environment.
46 | static var current: OutputTarget = {
| |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 | // Check if we are in any term env and the output is a tty.
48 | let termType = getEnvValue("TERM")
[13/19] Compiling Rainbow BackgroundColor.swift
[14/19] Compiling Rainbow CodesParser.swift
[15/19] Compiling Rainbow ControlCode.swift
[16/19] Compiling Rainbow ColorApproximation.swift
[17/21] Compiling RainbowPlayground main.swift
[18/21] Emitting module RainbowPlayground
[18/21] Write Objects.LinkFileList
[19/21] Linking RainbowPlayground
[20/21] Applying RainbowPlayground
Build complete! (11.38s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Rainbow",
"name" : "Rainbow",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Rainbow",
"targets" : [
"Rainbow"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "RainbowPlayground",
"targets" : [
"RainbowPlayground"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "RainbowTests",
"module_type" : "SwiftTarget",
"name" : "RainbowTests",
"path" : "Tests",
"sources" : [
"RainbowTests/ColorApproximatedTests.swift",
"RainbowTests/ColorTests.swift",
"RainbowTests/ConsoleStringTests.swift",
"RainbowTests/ConsoleTextParserTests.swift",
"RainbowTests/RainbowTests.swift"
],
"target_dependencies" : [
"Rainbow"
],
"type" : "test"
},
{
"c99name" : "RainbowPlayground",
"module_type" : "SwiftTarget",
"name" : "RainbowPlayground",
"path" : "Playground",
"product_memberships" : [
"RainbowPlayground"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"Rainbow"
],
"type" : "executable"
},
{
"c99name" : "Rainbow",
"module_type" : "SwiftTarget",
"name" : "Rainbow",
"path" : "Sources",
"product_memberships" : [
"Rainbow",
"RainbowPlayground"
],
"sources" : [
"BackgroundColor.swift",
"CodesParser.swift",
"Color.swift",
"ColorApproximation.swift",
"ControlCode.swift",
"ModesExtractor.swift",
"OutputTarget.swift",
"Rainbow.swift",
"String+Rainbow.swift",
"StringGenerator.swift",
"Style.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Done.