Build Information
Successful build of Blessed with Swift 6.0 for macOS (SPM).
Swift 6 data race errors: 3
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/trilemma-dev/Blessed.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/trilemma-dev/Blessed
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at fc7c930 Update README.md
Cloned https://github.com/trilemma-dev/Blessed.git
Revision (git rev-parse @):
fc7c930f3cc1894a2481e1f884c336007712e6a8
SUCCESS checkout https://github.com/trilemma-dev/Blessed.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/trilemma-dev/Blessed.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version-6F35C1178C84523A.txt
[6/54] Emitting module Required
[7/58] Compiling Required CompileAndParse.swift
[8/58] Compiling Required AndRequirement+Evaluate.swift
[9/58] Compiling Required CertificateConstraint+Evaluate.swift
[10/58] Compiling Required CodeDirectoryHashConstraint+Evaluate.swift
[11/58] Compiling Required EntitlementConstraint+Evaluate.swift
[12/58] Compiling Authorized AuthorizationError.swift
[13/58] Compiling Authorized Authorization.swift
[14/58] Compiling Authorized AuthorizationPolicyDatabase.swift
[15/58] Compiling EmbeddedPropertyList EmbeddedPropertyListReader.swift
[16/58] Emitting module Authorized
[17/58] Compiling Authorized AuthorizationElements.swift
[18/58] Compiling Authorized AuthorizationOption.swift
[19/58] Emitting module EmbeddedPropertyList
[20/58] Compiling EmbeddedPropertyList BundleVersion.swift
[21/58] Compiling EmbeddedPropertyList ReadError.swift
[22/58] Compiling Required ParserError.swift
[23/58] Compiling Required Requirement.swift
[24/58] Compiling Required RequirementSet.swift
[25/58] Compiling Required Symbols.swift
[26/58] Compiling Required IdentifierConstraint.swift
[27/58] Compiling Required InfoConstraint.swift
[28/58] Compiling Required KeyExpression.swift
[29/58] Compiling Required MatchExpression.swift
[30/58] Compiling Required NegationRequirement.swift
[31/58] Compiling Required OrRequirement.swift
[32/58] Compiling Required ParenthesesRequirement.swift
[33/58] Compiling Required Parser.swift
[34/58] Compiling Required SecTask+Extensions.swift
[35/58] Compiling Required SecurityCommon.swift
[36/58] Compiling Required SecurityError.swift
[37/58] Compiling Required AndRequirement.swift
[38/58] Compiling Required OrRequirement+Evaluate.swift
[39/58] Compiling Required ParenthesesRequirement+Evaluate.swift
[40/58] Compiling Required Requirement+Evaluate.swift
[41/58] Compiling Required Data+Extensions.swift
[42/58] Compiling Required CertificateConstraint.swift
[43/58] Compiling Required CodeDirectoryHashConstraint.swift
[44/58] Compiling Required Constraint.swift
[45/58] Compiling Required EntitlementConstraint.swift
[46/58] Compiling Required Evaluation.swift
[47/58] Compiling Required IdentifierConstraint+Evaluate.swift
[48/58] Compiling Required InfoConstraint+Evaluate.swift
[49/58] Compiling Required MatchExpression+Evaluate.swift
[50/58] Compiling Required NegationRequirement+Evaluate.swift
[51/58] Compiling Required SecCertificate+Extensions.swift
[52/58] Compiling Required SecCode+Extensions.swift
[53/58] Compiling Required SecRequirement+Extensions.swift
[54/58] Compiling Required SecStaticCode+Extensions.swift
[55/58] Compiling Required WildcardString.swift
[56/58] Compiling Required Token.swift
[57/58] Compiling Required TokenizationError.swift
[58/58] Compiling Required Tokenizer.swift
[59/62] Compiling Blessed ProcessInfo+Sandbox.swift
[60/62] Compiling Blessed PrivilegedHelperManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:27:23: warning: static property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | /// The shared privileged helper manager for the process.
27 | public static var shared = PrivilegedHelperManager()
| |- warning: static property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'shared' 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
28 |
29 | /// Submits a privileged helper tool as a launchd job.
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:182:16: warning: static property 'blessPrivilegedHelper' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
180 | /// When using this to check or request rights, ``AuthorizationEnvironmentEntry/forPrompt(message:)`` and
181 | /// ``AuthorizationEnvironmentEntry/forIcon(_:)`` can be specified as environment entries.
182 | static let blessPrivilegedHelper = AuthorizationRight(name: kSMRightBlessPrivilegedHelper)
| `- warning: static property 'blessPrivilegedHelper' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
183 |
184 | /// Authorization right for modifying system daemons.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Authorized/Sources/Authorized/AuthorizationElements.swift:57:15: note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
55 | /// - ``createOrUpdateDefinition(rules:authorization:descriptionKey:bundle:localeTableName:comment:)``
56 | /// - ``removeDefinition(authorization:)``
57 | public struct AuthorizationRight: AuthorizationElement {
| `- note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
58 | /// The name of this authorization right.
59 | public let name: String
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Authorized'
6 | //
7 |
8 | import Authorized
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Authorized'
9 | import Foundation
10 | import ServiceManagement
:
180 | /// When using this to check or request rights, ``AuthorizationEnvironmentEntry/forPrompt(message:)`` and
181 | /// ``AuthorizationEnvironmentEntry/forIcon(_:)`` can be specified as environment entries.
182 | static let blessPrivilegedHelper = AuthorizationRight(name: kSMRightBlessPrivilegedHelper)
| |- note: annotate 'blessPrivilegedHelper' 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
183 |
184 | /// Authorization right for modifying system daemons.
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:185:16: warning: static property 'modifySystemsDaemon' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
183 |
184 | /// Authorization right for modifying system daemons.
185 | static let modifySystemsDaemon = AuthorizationRight(name: kSMRightModifySystemDaemons)
| |- warning: static property 'modifySystemsDaemon' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'modifySystemsDaemon' 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
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Authorized/Sources/Authorized/AuthorizationElements.swift:57:15: note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
55 | /// - ``createOrUpdateDefinition(rules:authorization:descriptionKey:bundle:localeTableName:comment:)``
56 | /// - ``removeDefinition(authorization:)``
57 | public struct AuthorizationRight: AuthorizationElement {
| `- note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
58 | /// The name of this authorization right.
59 | public let name: String
[61/62] Emitting module Blessed
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:27:23: warning: static property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
25 |
26 | /// The shared privileged helper manager for the process.
27 | public static var shared = PrivilegedHelperManager()
| |- warning: static property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'shared' 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
28 |
29 | /// Submits a privileged helper tool as a launchd job.
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:182:16: warning: static property 'blessPrivilegedHelper' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
180 | /// When using this to check or request rights, ``AuthorizationEnvironmentEntry/forPrompt(message:)`` and
181 | /// ``AuthorizationEnvironmentEntry/forIcon(_:)`` can be specified as environment entries.
182 | static let blessPrivilegedHelper = AuthorizationRight(name: kSMRightBlessPrivilegedHelper)
| `- warning: static property 'blessPrivilegedHelper' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
183 |
184 | /// Authorization right for modifying system daemons.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Authorized/Sources/Authorized/AuthorizationElements.swift:57:15: note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
55 | /// - ``createOrUpdateDefinition(rules:authorization:descriptionKey:bundle:localeTableName:comment:)``
56 | /// - ``removeDefinition(authorization:)``
57 | public struct AuthorizationRight: AuthorizationElement {
| `- note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
58 | /// The name of this authorization right.
59 | public let name: String
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Authorized'
6 | //
7 |
8 | import Authorized
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Authorized'
9 | import Foundation
10 | import ServiceManagement
:
180 | /// When using this to check or request rights, ``AuthorizationEnvironmentEntry/forPrompt(message:)`` and
181 | /// ``AuthorizationEnvironmentEntry/forIcon(_:)`` can be specified as environment entries.
182 | static let blessPrivilegedHelper = AuthorizationRight(name: kSMRightBlessPrivilegedHelper)
| |- note: annotate 'blessPrivilegedHelper' 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
183 |
184 | /// Authorization right for modifying system daemons.
/Users/admin/builder/spi-builder-workspace/Sources/Blessed/PrivilegedHelperManager.swift:185:16: warning: static property 'modifySystemsDaemon' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
183 |
184 | /// Authorization right for modifying system daemons.
185 | static let modifySystemsDaemon = AuthorizationRight(name: kSMRightModifySystemDaemons)
| |- warning: static property 'modifySystemsDaemon' is not concurrency-safe because non-'Sendable' type 'AuthorizationRight' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'modifySystemsDaemon' 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
186 | }
187 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Authorized/Sources/Authorized/AuthorizationElements.swift:57:15: note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
55 | /// - ``createOrUpdateDefinition(rules:authorization:descriptionKey:bundle:localeTableName:comment:)``
56 | /// - ``removeDefinition(authorization:)``
57 | public struct AuthorizationRight: AuthorizationElement {
| `- note: struct 'AuthorizationRight' does not conform to the 'Sendable' protocol
58 | /// The name of this authorization right.
59 | public let name: String
[62/62] Compiling Blessed BlessError.swift
Build complete! (36.49s)
Fetching https://github.com/trilemma-dev/Required.git
Fetching https://github.com/trilemma-dev/Authorized.git
Fetching https://github.com/trilemma-dev/EmbeddedPropertyList.git
[1/157] Fetching embeddedpropertylist
[119/193] Fetching embeddedpropertylist, authorized
[155/469] Fetching embeddedpropertylist, authorized, required
Fetched https://github.com/trilemma-dev/Authorized.git from cache (0.91s)
Fetched https://github.com/trilemma-dev/EmbeddedPropertyList.git from cache (0.91s)
Fetched https://github.com/trilemma-dev/Required.git from cache (0.91s)
Computing version for https://github.com/trilemma-dev/Authorized.git
Computed https://github.com/trilemma-dev/Authorized.git at 1.0.0 (0.66s)
Computing version for https://github.com/trilemma-dev/Required.git
Computed https://github.com/trilemma-dev/Required.git at 0.1.1 (0.66s)
Computing version for https://github.com/trilemma-dev/EmbeddedPropertyList.git
Computed https://github.com/trilemma-dev/EmbeddedPropertyList.git at 2.0.2 (0.73s)
Creating working copy for https://github.com/trilemma-dev/Required.git
Working copy of https://github.com/trilemma-dev/Required.git resolved at 0.1.1
Creating working copy for https://github.com/trilemma-dev/Authorized.git
Working copy of https://github.com/trilemma-dev/Authorized.git resolved at 1.0.0
Creating working copy for https://github.com/trilemma-dev/EmbeddedPropertyList.git
Working copy of https://github.com/trilemma-dev/EmbeddedPropertyList.git resolved at 2.0.2
Build complete.
{
"dependencies" : [
{
"identity" : "embeddedpropertylist",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.2",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/trilemma-dev/EmbeddedPropertyList.git"
},
{
"identity" : "required",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/trilemma-dev/Required.git"
},
{
"identity" : "authorized",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/trilemma-dev/Authorized.git"
}
],
"manifest_display_name" : "Blessed",
"name" : "Blessed",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.10"
}
],
"products" : [
{
"name" : "Blessed",
"targets" : [
"Blessed"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "BlessedTests",
"module_type" : "SwiftTarget",
"name" : "BlessedTests",
"path" : "Tests/BlessedTests",
"sources" : [
"Sandbox Tests.swift"
],
"target_dependencies" : [
"Blessed"
],
"type" : "test"
},
{
"c99name" : "Blessed",
"module_type" : "SwiftTarget",
"name" : "Blessed",
"path" : "Sources/Blessed",
"product_dependencies" : [
"Authorized",
"EmbeddedPropertyList",
"Required"
],
"product_memberships" : [
"Blessed"
],
"sources" : [
"BlessError.swift",
"PrivilegedHelperManager.swift",
"ProcessInfo+Sandbox.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.