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

Swift 6 data race errors: 0

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/elegantchaos/ApplicationExtensions.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/elegantchaos/ApplicationExtensions
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at f858e00 Improved parallelism in state saving
Cloned https://github.com/elegantchaos/ApplicationExtensions.git
Revision (git rev-parse @):
f858e00faa4a80c88d7fe3d154cd57f7dc6609de
SUCCESS checkout https://github.com/elegantchaos/ApplicationExtensions.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/elegantchaos/ApplicationExtensions.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/10] Write sources
[9/10] Write swift-version-6F35C1178C84523A.txt
[11/58] Emitting module SemanticVersion
[12/58] Compiling SemanticVersion SemanticVersion.swift
[13/58] Compiling Coercion UIntConvertible.swift
[14/59] Compiling Coercion StandardConvertible.swift
[15/59] Compiling Coercion StringConvertible.swift
[16/59] Emitting module Files
[17/60] Compiling Logger PrintHandler.swift
[18/60] Compiling Logger OSLogHandler.swift
[19/60] Compiling Files ThrowingManager.swift
[20/60] Compiling Coercion IntConvertible.swift
[21/60] Compiling Coercion BoolConvertible.swift
[22/60] Compiling Coercion DataConvertible.swift
[23/60] Compiling Files URL+General.swift
[24/60] Compiling Coercion Dictionary+Coercion.swift
[25/60] Compiling Coercion Double+Coercion.swift
[26/60] Compiling Coercion DateConvertible.swift
[27/60] Compiling Coercion DoubleConvertible.swift
[28/60] Compiling CollectionExtensions Dictionary+Merging.swift
[29/60] Compiling Coercion String+Coercion.swift
[30/60] Compiling Files ThrowingFolder.swift
[31/60] Compiling Files ThrowingItem.swift
[32/60] Compiling CollectionExtensions Dictionary+Coercion.swift
[33/60] Compiling Coercion Converter.swift
[34/60] Compiling Coercion Date+Coercion.swift
[35/60] Compiling Coercion BinaryInteger+Coercion.swift
[36/60] Compiling Coercion Bool+Coercion.swift
[37/60] Emitting module Coercion
[38/60] Emitting module CollectionExtensions
[39/60] Compiling CollectionExtensions Coercion.swift
[42/60] Compiling Files NonThrowingManager.swift
[43/60] Compiling Files ThrowingFile.swift
[46/60] Compiling Files URL+Security.swift
[53/60] Compiling Logger NSLogHandler.swift
[54/60] Compiling Logger Context.swift
[55/60] Compiling Logger Channel.swift
[56/60] Emitting module Logger
[57/60] Compiling Logger Manager.swift
[58/60] Compiling Logger Handler.swift
[59/70] Emitting module Images
[60/70] Compiling Images Images.swift
[61/73] Emitting module Bundles
[62/73] Compiling Bundles Bundle+Decoding.swift
[63/73] Compiling Bundles BundleInfo.swift
[64/73] Compiling LoggerKit LoggerApplication.swift
[65/73] Compiling LoggerKit LoggerMenu+UIKit.swift
[66/73] Compiling LoggerKit LoggerSettingsView.swift
[67/73] Compiling LoggerKit LoggerApplication+LoggerMenu.swift
[68/73] Compiling LoggerKit ChainableResponder.swift
[69/73] Emitting module LoggerKit
[70/73] Compiling LoggerKit LoggerApplication+AppKit.swift
[71/73] Compiling LoggerKit LoggerApplication+UIKit.swift
[72/73] Compiling LoggerKit LoggerMenu+AppKit.swift
[73/73] Compiling LoggerKit LoggerScene.swift
[74/80] Compiling ApplicationExtensions StateWatcher.swift
[75/80] Compiling ApplicationExtensions DocumentExtensions.swift
[76/80] Compiling ApplicationExtensions BasicScene.swift
[77/80] Emitting module ApplicationExtensions
[78/80] Compiling ApplicationExtensions ApplicationExtensions.swift
[79/80] Compiling ApplicationExtensions DispatchQueue+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/ApplicationExtensions/DispatchQueue+Extensions.swift:9:39: warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
 6 | import Foundation
 7 |
 8 | public func onMainQueue(_ work: @escaping () -> ()) {
   |                           `- note: parameter 'work' is implicitly non-sendable
 9 |     DispatchQueue.main.async(execute: work)
   |                                       `- warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
10 | }
11 |
/Users/admin/builder/spi-builder-workspace/Sources/ApplicationExtensions/DispatchQueue+Extensions.swift:13:72: warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
10 | }
11 |
12 | public func onMainQueue(after seconds: TimeInterval, _ work: @escaping () -> ()) {
   |                                                        `- note: parameter 'work' is implicitly non-sendable
13 |     DispatchQueue.main.asyncAfter(deadline: .now() + seconds, execute: work)
   |                                                                        `- warning: passing non-sendable parameter 'work' to function expecting a @Sendable closure
14 | }
15 |
[80/80] Compiling ApplicationExtensions BasicApplication.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Logger/Sources/LoggerKit/LoggerApplication.swift:9:12: warning: let 'applicationChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 7 | import Logger
 8 |
 9 | public let applicationChannel = Channel("Application", handlers: [OSLogHandler()])
   |            |- warning: let 'applicationChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: annotate 'applicationChannel' 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
10 | #endif
11 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |
 17 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/ApplicationExtensions/BasicApplication.swift:70:45: warning: capture of 'options' with non-sendable type 'BasicApplication.LaunchOptions' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 68 |                 self.setupState = .initialising
 69 |                 DispatchQueue.global(qos: .userInitiated).async {
 70 |                     self.setUp(withOptions: options) { _ in
    |                                             `- warning: capture of 'options' with non-sendable type 'BasicApplication.LaunchOptions' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 71 |                         self.finishedSetup()
 72 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ApplicationExtensions/BasicApplication.swift:70:26: warning: call to main actor-isolated instance method 'setUp(withOptions:completion:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 34 |     }
 35 |
 36 |     open func setUp(withOptions options: LaunchOptions, completion: @escaping SetupCompletion) {
    |               `- note: calls to instance method 'setUp(withOptions:completion:)' from outside of its actor context are implicitly asynchronous
 37 |         registerDefaultsFromSettingsBundle()
 38 |         loadState {
    :
 68 |                 self.setupState = .initialising
 69 |                 DispatchQueue.global(qos: .userInitiated).async {
 70 |                     self.setUp(withOptions: options) { _ in
    |                          `- warning: call to main actor-isolated instance method 'setUp(withOptions:completion:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 71 |                         self.finishedSetup()
 72 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/ApplicationExtensions/BasicApplication.swift:71:30: warning: call to main actor-isolated instance method 'finishedSetup()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 69 |                 DispatchQueue.global(qos: .userInitiated).async {
 70 |                     self.setUp(withOptions: options) { _ in
 71 |                         self.finishedSetup()
    |                              `- warning: call to main actor-isolated instance method 'finishedSetup()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 72 |                     }
 73 |                 }
    :
 76 |     }
 77 |
 78 |     fileprivate func finishedSetup() {
    |                      `- note: calls to instance method 'finishedSetup()' from outside of its actor context are implicitly asynchronous
 79 |         onMainQueue {
 80 |             applicationChannel.log("finished setup")
Build complete! (36.49s)
Fetching https://github.com/elegantchaos/Bundles.git
Fetching https://github.com/elegantchaos/SemanticVersion.git
Fetching https://github.com/elegantchaos/Files.git
Fetching https://github.com/elegantchaos/Logger.git
Fetching https://github.com/elegantchaos/Coercion.git
Fetching https://github.com/elegantchaos/XCTestExtensions
Fetching https://github.com/elegantchaos/CollectionExtensions.git
[1/400] Fetching collectionextensions
[33/619] Fetching collectionextensions, bundles
[252/1306] Fetching collectionextensions, bundles, files
[301/3153] Fetching collectionextensions, bundles, files, logger
[338/3427] Fetching collectionextensions, bundles, files, logger, coercion
[587/3579] Fetching collectionextensions, bundles, files, logger, coercion, semanticversion
[955/4144] Fetching collectionextensions, bundles, files, logger, coercion, semanticversion, xctestextensions
Fetched https://github.com/elegantchaos/Files.git from cache (0.92s)
Fetching https://github.com/elegantchaos/Images.git
[2626/3457] Fetching collectionextensions, bundles, logger, coercion, semanticversion, xctestextensions
Fetched https://github.com/elegantchaos/XCTestExtensions from cache (1.05s)
Fetched https://github.com/elegantchaos/Logger.git from cache (1.05s)
Fetched https://github.com/elegantchaos/Bundles.git from cache (1.05s)
Fetched https://github.com/elegantchaos/CollectionExtensions.git from cache (1.05s)
Computing version for https://github.com/elegantchaos/Logger.git
Fetched https://github.com/elegantchaos/Coercion.git from cache (1.05s)
Fetched https://github.com/elegantchaos/SemanticVersion.git from cache (1.05s)
[1/162] Fetching images
Fetched https://github.com/elegantchaos/Images.git from cache (0.72s)
Computed https://github.com/elegantchaos/Logger.git at 1.5.7 (0.68s)
Computing version for https://github.com/elegantchaos/CollectionExtensions.git
Computed https://github.com/elegantchaos/CollectionExtensions.git at 1.0.2 (0.67s)
Computing version for https://github.com/elegantchaos/Bundles.git
Computed https://github.com/elegantchaos/Bundles.git at 1.0.6 (0.76s)
Computing version for https://github.com/elegantchaos/SemanticVersion.git
Computed https://github.com/elegantchaos/SemanticVersion.git at 1.1.0 (0.69s)
Computing version for https://github.com/elegantchaos/Files.git
Computed https://github.com/elegantchaos/Files.git at 1.1.3 (0.70s)
Computing version for https://github.com/elegantchaos/Images.git
Computed https://github.com/elegantchaos/Images.git at 1.0.0 (0.69s)
Computing version for https://github.com/elegantchaos/Coercion.git
Computed https://github.com/elegantchaos/Coercion.git at 1.0.3 (0.69s)
Computing version for https://github.com/elegantchaos/XCTestExtensions
Computed https://github.com/elegantchaos/XCTestExtensions at 1.1.2 (0.67s)
Creating working copy for https://github.com/elegantchaos/Images.git
Working copy of https://github.com/elegantchaos/Images.git resolved at 1.0.0
Creating working copy for https://github.com/elegantchaos/SemanticVersion.git
Working copy of https://github.com/elegantchaos/SemanticVersion.git resolved at 1.1.0
Creating working copy for https://github.com/elegantchaos/CollectionExtensions.git
Working copy of https://github.com/elegantchaos/CollectionExtensions.git resolved at 1.0.2
Creating working copy for https://github.com/elegantchaos/Files.git
Working copy of https://github.com/elegantchaos/Files.git resolved at 1.1.3
Creating working copy for https://github.com/elegantchaos/XCTestExtensions
Working copy of https://github.com/elegantchaos/XCTestExtensions resolved at 1.1.2
Creating working copy for https://github.com/elegantchaos/Coercion.git
Working copy of https://github.com/elegantchaos/Coercion.git resolved at 1.0.3
Creating working copy for https://github.com/elegantchaos/Bundles.git
Working copy of https://github.com/elegantchaos/Bundles.git resolved at 1.0.6
Creating working copy for https://github.com/elegantchaos/Logger.git
Working copy of https://github.com/elegantchaos/Logger.git resolved at 1.5.7
Build complete.
{
  "dependencies" : [
    {
      "identity" : "bundles",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.6",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elegantchaos/Bundles.git"
    },
    {
      "identity" : "collectionextensions",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.2",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elegantchaos/CollectionExtensions.git"
    },
    {
      "identity" : "logger",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.7",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/elegantchaos/Logger.git"
    }
  ],
  "manifest_display_name" : "ApplicationExtensions",
  "name" : "ApplicationExtensions",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "ApplicationExtensions",
      "targets" : [
        "ApplicationExtensions"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ApplicationExtensionsTests",
      "module_type" : "SwiftTarget",
      "name" : "ApplicationExtensionsTests",
      "path" : "Tests/ApplicationExtensionsTests",
      "sources" : [
        "ApplicationExtensionsTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "ApplicationExtensions"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ApplicationExtensions",
      "module_type" : "SwiftTarget",
      "name" : "ApplicationExtensions",
      "path" : "Sources/ApplicationExtensions",
      "product_dependencies" : [
        "Bundles",
        "LoggerKit",
        "CollectionExtensions"
      ],
      "product_memberships" : [
        "ApplicationExtensions"
      ],
      "sources" : [
        "ApplicationExtensions.swift",
        "BasicApplication.swift",
        "BasicScene.swift",
        "DispatchQueue+Extensions.swift",
        "DocumentExtensions.swift",
        "StateWatcher.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.