The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of swift-commands, reference main (afa9d9), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 07:00:38 UTC.

Swift 6 data race errors: 6

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/QiuZhiFei/swift-commands.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/QiuZhiFei/swift-commands
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at afa9d9f Merge pull request #11 from QiuZhiFei/dev
Cloned https://github.com/QiuZhiFei/swift-commands.git
Revision (git rev-parse @):
afa9d9f4ee15bac2baa27c515fe59088444c247f
SUCCESS checkout https://github.com/QiuZhiFei/swift-commands.git at main
========================================
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": "swift-commands",
      "name": "swift-commands",
      "url": "https://github.com/QiuZhiFei/swift-commands.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-commands",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/QiuZhiFei/swift-commands.git
[6/265] Fetching swift-commands
Fetched https://github.com/QiuZhiFei/swift-commands.git from cache (0.80s)
Creating working copy for https://github.com/QiuZhiFei/swift-commands.git
Working copy of https://github.com/QiuZhiFei/swift-commands.git resolved at main (afa9d9f)
warning: '.resolve-product-dependencies': dependency 'swift-commands' 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/QiuZhiFei/swift-commands.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/7] Write sources
[2/7] Write Examples-entitlement.plist
[3/7] Write swift-version--7754E27361AE5C74.txt
[5/17] Compiling Commands CommandsENV.swift
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsENV.swift:21:21: warning: static property 'global' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | extension Commands.ENV {
21 |   public static var global = Commands.ENV()
   |                     |- warning: static property 'global' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: convert 'global' to a 'let' constant to make 'Sendable' shared state immutable
   |                     |- note: annotate 'global' 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
22 | }
23 |
[6/17] Compiling Commands CommandsResponse.swift
[7/17] Compiling Commands CommandsRequest.swift
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsENV.swift:21:21: warning: static property 'global' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | extension Commands.ENV {
21 |   public static var global = Commands.ENV()
   |                     |- warning: static property 'global' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: convert 'global' to a 'let' constant to make 'Sendable' shared state immutable
   |                     |- note: annotate 'global' 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
22 | }
23 |
[8/17] Compiling Commands CommandsAlias.swift
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsENV.swift:21:21: warning: static property 'global' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | extension Commands.ENV {
21 |   public static var global = Commands.ENV()
   |                     |- warning: static property 'global' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: convert 'global' to a 'let' constant to make 'Sendable' shared state immutable
   |                     |- note: annotate 'global' 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
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsAlias.swift:56:14: warning: static property 'Bash' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | extension Commands {
11 |   public struct Alias {
   |                 `- note: consider making struct 'Alias' conform to the 'Sendable' protocol
12 |     public let executableURL: String
13 |     public let dashc: Commands.Arguments?
   :
54 |
55 | public extension Commands {
56 |   static let Bash = Commands.Alias("bash", dashc: "-c")
   |              |- warning: static property 'Bash' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
   |              |- note: annotate 'Bash' 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
57 |   static let Ruby = Commands.Alias("ruby", dashc: "-e")
58 |   static let Python = Commands.Alias("python", dashc: "-c")
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsAlias.swift:57:14: warning: static property 'Ruby' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | extension Commands {
11 |   public struct Alias {
   |                 `- note: consider making struct 'Alias' conform to the 'Sendable' protocol
12 |     public let executableURL: String
13 |     public let dashc: Commands.Arguments?
   :
55 | public extension Commands {
56 |   static let Bash = Commands.Alias("bash", dashc: "-c")
57 |   static let Ruby = Commands.Alias("ruby", dashc: "-e")
   |              |- warning: static property 'Ruby' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
   |              |- note: annotate 'Ruby' 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
58 |   static let Python = Commands.Alias("python", dashc: "-c")
59 |   static let Node = Commands.Alias("node", dashc: "-e")
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsAlias.swift:58:14: warning: static property 'Python' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | extension Commands {
11 |   public struct Alias {
   |                 `- note: consider making struct 'Alias' conform to the 'Sendable' protocol
12 |     public let executableURL: String
13 |     public let dashc: Commands.Arguments?
   :
56 |   static let Bash = Commands.Alias("bash", dashc: "-c")
57 |   static let Ruby = Commands.Alias("ruby", dashc: "-e")
58 |   static let Python = Commands.Alias("python", dashc: "-c")
   |              |- warning: static property 'Python' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
   |              |- note: annotate 'Python' 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
59 |   static let Node = Commands.Alias("node", dashc: "-e")
60 | }
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsAlias.swift:59:14: warning: static property 'Node' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | extension Commands {
11 |   public struct Alias {
   |                 `- note: consider making struct 'Alias' conform to the 'Sendable' protocol
12 |     public let executableURL: String
13 |     public let dashc: Commands.Arguments?
   :
57 |   static let Ruby = Commands.Alias("ruby", dashc: "-e")
58 |   static let Python = Commands.Alias("python", dashc: "-c")
59 |   static let Node = Commands.Alias("node", dashc: "-e")
   |              |- warning: static property 'Node' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
   |              |- note: annotate 'Node' 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
60 | }
61 |
[9/17] Compiling Commands CommandsArguments.swift
[10/17] Emitting module Commands
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsENV.swift:21:21: warning: static property 'global' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | extension Commands.ENV {
21 |   public static var global = Commands.ENV()
   |                     |- warning: static property 'global' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                     |- note: convert 'global' to a 'let' constant to make 'Sendable' shared state immutable
   |                     |- note: annotate 'global' 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
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsAlias.swift:56:14: warning: static property 'Bash' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | extension Commands {
11 |   public struct Alias {
   |                 `- note: consider making struct 'Alias' conform to the 'Sendable' protocol
12 |     public let executableURL: String
13 |     public let dashc: Commands.Arguments?
   :
54 |
55 | public extension Commands {
56 |   static let Bash = Commands.Alias("bash", dashc: "-c")
   |              |- warning: static property 'Bash' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
   |              |- note: annotate 'Bash' 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
57 |   static let Ruby = Commands.Alias("ruby", dashc: "-e")
58 |   static let Python = Commands.Alias("python", dashc: "-c")
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsAlias.swift:57:14: warning: static property 'Ruby' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | extension Commands {
11 |   public struct Alias {
   |                 `- note: consider making struct 'Alias' conform to the 'Sendable' protocol
12 |     public let executableURL: String
13 |     public let dashc: Commands.Arguments?
   :
55 | public extension Commands {
56 |   static let Bash = Commands.Alias("bash", dashc: "-c")
57 |   static let Ruby = Commands.Alias("ruby", dashc: "-e")
   |              |- warning: static property 'Ruby' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
   |              |- note: annotate 'Ruby' 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
58 |   static let Python = Commands.Alias("python", dashc: "-c")
59 |   static let Node = Commands.Alias("node", dashc: "-e")
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsAlias.swift:58:14: warning: static property 'Python' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | extension Commands {
11 |   public struct Alias {
   |                 `- note: consider making struct 'Alias' conform to the 'Sendable' protocol
12 |     public let executableURL: String
13 |     public let dashc: Commands.Arguments?
   :
56 |   static let Bash = Commands.Alias("bash", dashc: "-c")
57 |   static let Ruby = Commands.Alias("ruby", dashc: "-e")
58 |   static let Python = Commands.Alias("python", dashc: "-c")
   |              |- warning: static property 'Python' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
   |              |- note: annotate 'Python' 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
59 |   static let Node = Commands.Alias("node", dashc: "-e")
60 | }
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsAlias.swift:59:14: warning: static property 'Node' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | extension Commands {
11 |   public struct Alias {
   |                 `- note: consider making struct 'Alias' conform to the 'Sendable' protocol
12 |     public let executableURL: String
13 |     public let dashc: Commands.Arguments?
   :
57 |   static let Ruby = Commands.Alias("ruby", dashc: "-e")
58 |   static let Python = Commands.Alias("python", dashc: "-c")
59 |   static let Node = Commands.Alias("node", dashc: "-e")
   |              |- warning: static property 'Node' is not concurrency-safe because non-'Sendable' type 'Commands.Alias' may have shared mutable state; this is an error in the Swift 6 language mode
   |              |- note: annotate 'Node' 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
60 | }
61 |
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsDashcTransformer.swift:20:22: warning: static property 'handlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | extension Commands.DashcTransformer {
 20 |   private static var handlers: [CommandsDashcTransformerHandler.Type] = [
    |                      |- warning: static property 'handlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                      |- note: convert 'handlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                      |- note: annotate 'handlers' 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
 21 |     Bash.self,
 22 |     Ruby.self,
[11/17] Compiling Commands Commands.swift
[12/17] Compiling Commands CommandsDashcTransformer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsDashcTransformer.swift:20:22: warning: static property 'handlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 18 |
 19 | extension Commands.DashcTransformer {
 20 |   private static var handlers: [CommandsDashcTransformerHandler.Type] = [
    |                      |- warning: static property 'handlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                      |- note: convert 'handlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                      |- note: annotate 'handlers' 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
 21 |     Bash.self,
 22 |     Ruby.self,
[13/17] Compiling Commands CommandsTask.swift
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsTask.swift:63:15: warning: capture of 'output' with non-sendable type '(String) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 61 |              let result = String(data: data, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines) {
 62 |             DispatchQueue.main.async {
 63 |               output(result)
    |               |- warning: capture of 'output' 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'
 64 |             }
 65 |           }
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsTask.swift:63:15: warning: capture of 'output' with non-sendable type '(String) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 61 |              let result = String(data: data, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines) {
 62 |             DispatchQueue.main.async {
 63 |               output(result)
    |               |- warning: capture of 'output' 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'
 64 |             }
 65 |           }
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsTask.swift:76:15: warning: capture of 'errorOutput' with non-sendable type '(String) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 74 |              let result = String(data: data, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines) {
 75 |             DispatchQueue.main.async {
 76 |               errorOutput(result)
    |               |- warning: capture of 'errorOutput' 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'
 77 |             }
 78 |           }
/Users/admin/builder/spi-builder-workspace/Sources/Commands/CommandsTask.swift:76:15: warning: capture of 'errorOutput' with non-sendable type '(String) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 74 |              let result = String(data: data, encoding: .utf8)?.trimmingCharacters(in: .whitespacesAndNewlines) {
 75 |             DispatchQueue.main.async {
 76 |               errorOutput(result)
    |               |- warning: capture of 'errorOutput' 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'
 77 |             }
 78 |           }
[14/17] Compiling Commands CommandsResult.swift
[15/19] Emitting module Examples
[16/19] Compiling Examples main.swift
[16/19] Write Objects.LinkFileList
[17/19] Linking Examples
[18/19] Applying Examples
Build complete! (13.31s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "swift-commands",
  "name" : "swift-commands",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Commands",
      "targets" : [
        "Commands"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Examples",
      "targets" : [
        "Examples"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Examples",
      "module_type" : "SwiftTarget",
      "name" : "Examples",
      "path" : "Examples",
      "product_memberships" : [
        "Examples"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "Commands"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "CommandsTests",
      "module_type" : "SwiftTarget",
      "name" : "CommandsTests",
      "path" : "Tests/CommandsTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/CommandsTests/Resources/python/main.py",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "RequestParseTests.swift",
        "XCTestManifests.swift",
        "swift_commandsTests.swift"
      ],
      "target_dependencies" : [
        "Commands"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Commands",
      "module_type" : "SwiftTarget",
      "name" : "Commands",
      "path" : "Sources/Commands",
      "product_memberships" : [
        "Commands",
        "Examples"
      ],
      "sources" : [
        "Commands.swift",
        "CommandsAlias.swift",
        "CommandsArguments.swift",
        "CommandsDashcTransformer.swift",
        "CommandsENV.swift",
        "CommandsRequest.swift",
        "CommandsResponse.swift",
        "CommandsResult.swift",
        "CommandsTask.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.