This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 Sh with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 1

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/danielsincere/Sh.git
Reference: trunk
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/danielsincere/Sh
 * branch            trunk      -> FETCH_HEAD
 * [new branch]      trunk      -> origin/trunk
HEAD is now at 1c30064 S3e15 (#6)
Cloned https://github.com/danielsincere/Sh.git
Revision (git rev-parse @):
1c30064de9dceac00aa3fefc70a1431e425e5f28
SUCCESS checkout https://github.com/danielsincere/Sh.git at trunk
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/danielsincere/Sh.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/3] Write sources
[2/3] Write swift-version-6F35C1178C84523A.txt
[4/14] Compiling Rainbow StringGenerator.swift
[5/14] Compiling Rainbow String+Rainbow.swift
[6/15] Compiling Rainbow Style.swift
[7/15] Compiling Rainbow OutputTarget.swift
[8/15] Compiling Rainbow ColorApproximation.swift
[9/15] Compiling Rainbow ControlCode.swift
[10/15] Compiling Rainbow BackgroundColor.swift
[11/15] Compiling Rainbow CodesParser.swift
[12/15] Compiling Rainbow ModesExtractor.swift
[13/15] Compiling Rainbow Rainbow.swift
[14/15] Compiling Rainbow Color.swift
[15/15] Emitting module Rainbow
[16/29] Compiling Sh Process.terminationError.swift
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Process/Process.terminationError.swift:15:14: warning: stored property 'reason' of 'Sendable'-conforming struct 'TerminationError' has non-sendable type 'TerminationError.Reason'; this is an error in the Swift 6 language mode
13 | public struct TerminationError: Error, LocalizedError {
14 |   public let status: Int32
15 |   public let reason: Reason
   |              `- warning: stored property 'reason' of 'Sendable'-conforming struct 'TerminationError' has non-sendable type 'TerminationError.Reason'; this is an error in the Swift 6 language mode
16 |
17 |   public enum Reason {
   |               `- note: consider making enum 'Reason' conform to the 'Sendable' protocol
18 |     case exit, uncaughtSignal, unknownDefault
19 |   }
[17/29] Compiling Sh Process.runReturningTrimmedString.swift
[18/29] Compiling Sh Sink.swift
[19/29] Compiling Sh String.asTrimmedLines.swift
[20/29] Compiling Sh PipeBuffer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Data/PipeBuffer.swift:17:7: warning: capture of 'self' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | class PipeBuffer {
   |       `- note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 4 |   enum StreamID: String {
 5 |     case stdOut, stdErr
   :
15 |
16 |     self.pipe.fileHandleForReading.readabilityHandler = { handler in
17 |       self.semaphore.enter()
   |       `- warning: capture of 'self' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 |       let data = handler.availableData
19 |       self.buffer.append(contentsOf: data)
[21/29] Compiling Sh Errors.swift
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Data/PipeBuffer.swift:17:7: warning: capture of 'self' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | class PipeBuffer {
   |       `- note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 4 |   enum StreamID: String {
 5 |     case stdOut, stdErr
   :
15 |
16 |     self.pipe.fileHandleForReading.readabilityHandler = { handler in
17 |       self.semaphore.enter()
   |       `- warning: capture of 'self' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 |       let data = handler.availableData
19 |       self.buffer.append(contentsOf: data)
[22/29] Compiling Sh sh.swift
[23/29] Compiling Sh Process.runReturningAllOutput.swift
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Process/Process.runReturningAllOutput.swift:40:19: warning: capture of 'stdOut' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 |       self.terminationHandler = { process in
39 |         continuation.resume(returning: AllOutput(
40 |           stdOut: stdOut.closeReturningData(),
   |                   `- warning: capture of 'stdOut' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 |           stdErr: stdErr.closeReturningData(),
42 |           terminationError: process.terminationError))
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Data/PipeBuffer.swift:3:7: note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | class PipeBuffer {
   |       `- note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 4 |   enum StreamID: String {
 5 |     case stdOut, stdErr
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Process/Process.runReturningAllOutput.swift:41:19: warning: capture of 'stdErr' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 |         continuation.resume(returning: AllOutput(
40 |           stdOut: stdOut.closeReturningData(),
41 |           stdErr: stdErr.closeReturningData(),
   |                   `- warning: capture of 'stdErr' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 |           terminationError: process.terminationError))
43 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Data/PipeBuffer.swift:3:7: note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | class PipeBuffer {
   |       `- note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 4 |   enum StreamID: String {
 5 |     case stdOut, stdErr
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Process/Process.runReturningData.swift:33:22: warning: capture of 'stdOut' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 |           continuation.resume(throwing: terminationError)
32 |         } else {
33 |           let data = stdOut.closeReturningData()
   |                      `- warning: capture of 'stdOut' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
34 |           continuation.resume(returning: data)
35 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Data/PipeBuffer.swift:3:7: note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | class PipeBuffer {
   |       `- note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 4 |   enum StreamID: String {
 5 |     case stdOut, stdErr
[24/29] Compiling Sh Process.runReturningData.swift
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Process/Process.runReturningAllOutput.swift:40:19: warning: capture of 'stdOut' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 |       self.terminationHandler = { process in
39 |         continuation.resume(returning: AllOutput(
40 |           stdOut: stdOut.closeReturningData(),
   |                   `- warning: capture of 'stdOut' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 |           stdErr: stdErr.closeReturningData(),
42 |           terminationError: process.terminationError))
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Data/PipeBuffer.swift:3:7: note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | class PipeBuffer {
   |       `- note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 4 |   enum StreamID: String {
 5 |     case stdOut, stdErr
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Process/Process.runReturningAllOutput.swift:41:19: warning: capture of 'stdErr' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
39 |         continuation.resume(returning: AllOutput(
40 |           stdOut: stdOut.closeReturningData(),
41 |           stdErr: stdErr.closeReturningData(),
   |                   `- warning: capture of 'stdErr' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 |           terminationError: process.terminationError))
43 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Data/PipeBuffer.swift:3:7: note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | class PipeBuffer {
   |       `- note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 4 |   enum StreamID: String {
 5 |     case stdOut, stdErr
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Process/Process.runReturningData.swift:33:22: warning: capture of 'stdOut' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 |           continuation.resume(throwing: terminationError)
32 |         } else {
33 |           let data = stdOut.closeReturningData()
   |                      `- warning: capture of 'stdOut' with non-sendable type 'PipeBuffer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
34 |           continuation.resume(returning: data)
35 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Data/PipeBuffer.swift:3:7: note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | class PipeBuffer {
   |       `- note: class 'PipeBuffer' does not conform to the 'Sendable' protocol
 4 |   enum StreamID: String {
 5 |     case stdOut, stdErr
[25/30] Emitting module Sh
/Users/admin/builder/spi-builder-workspace/Sources/Sh/Process/Process.terminationError.swift:15:14: warning: stored property 'reason' of 'Sendable'-conforming struct 'TerminationError' has non-sendable type 'TerminationError.Reason'; this is an error in the Swift 6 language mode
13 | public struct TerminationError: Error, LocalizedError {
14 |   public let status: Int32
15 |   public let reason: Reason
   |              `- warning: stored property 'reason' of 'Sendable'-conforming struct 'TerminationError' has non-sendable type 'TerminationError.Reason'; this is an error in the Swift 6 language mode
16 |
17 |   public enum Reason {
   |               `- note: consider making enum 'Reason' conform to the 'Sendable' protocol
18 |     case exit, uncaughtSignal, unknownDefault
19 |   }
[26/30] Compiling Sh Data.asJSON.swift
[27/30] Compiling Sh Data.asTrimmedString.swift
[28/30] Compiling Sh Process.init.swift
[29/30] Compiling Sh Process.runRedirectingAllOutput.swift
[30/30] Compiling Sh shq.swift
Build complete! (27.10s)
Fetching https://github.com/onevcat/Rainbow
[1/1118] Fetching rainbow
Fetched https://github.com/onevcat/Rainbow from cache (0.92s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.0.1 (3.28s)
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 4.0.1
Build complete.
{
  "dependencies" : [
    {
      "identity" : "rainbow",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/onevcat/Rainbow"
    }
  ],
  "manifest_display_name" : "Sh",
  "name" : "Sh",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "Sh",
      "targets" : [
        "Sh"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ShTests",
      "module_type" : "SwiftTarget",
      "name" : "ShTests",
      "path" : "Tests/ShTests",
      "sources" : [
        "AsyncDecodingTests.swift",
        "AsyncTests.swift",
        "LogFileTests.swift",
        "MacTests.swift",
        "ReturningAllOutputTests.swift",
        "ReturningOutputTests.swift",
        "SinkTests.swift"
      ],
      "target_dependencies" : [
        "Sh"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Sh",
      "module_type" : "SwiftTarget",
      "name" : "Sh",
      "path" : "Sources/Sh",
      "product_dependencies" : [
        "Rainbow"
      ],
      "product_memberships" : [
        "Sh"
      ],
      "sources" : [
        "Data/Data.asJSON.swift",
        "Data/Data.asTrimmedString.swift",
        "Data/PipeBuffer.swift",
        "Errors.swift",
        "Process/Process.init.swift",
        "Process/Process.runRedirectingAllOutput.swift",
        "Process/Process.runReturningAllOutput.swift",
        "Process/Process.runReturningData.swift",
        "Process/Process.runReturningTrimmedString.swift",
        "Process/Process.terminationError.swift",
        "Sink.swift",
        "String/String.asTrimmedLines.swift",
        "sh.swift",
        "shq.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.