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 SwiftTheming 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/dscyrescotti/SwiftTheming.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/dscyrescotti/SwiftTheming
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 1042f7b feat: bump codecov versino
Cloned https://github.com/dscyrescotti/SwiftTheming.git
Revision (git rev-parse @):
1042f7b3f3b56ad64f8187939f6fe2e24d809471
SUCCESS checkout https://github.com/dscyrescotti/SwiftTheming.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/dscyrescotti/SwiftTheming.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
[1/1] Compiling plugin Swift-DocC
[2/2] Compiling plugin Swift-DocC Preview
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version-6F35C1178C84523A.txt
[5/25] Emitting module SwiftTheming
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/ThemeProvider/ThemeProvider.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
  3 |
  4 | /// An observable object that manages predefined themes and appearances of an app.
  5 | public class ThemeProvider: ObservableObject {
    |              `- note: class 'ThemeProvider' does not conform to the 'Sendable' protocol
  6 |     static let shared: ThemeProvider = ThemeProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- 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
  7 |
  8 |     /// A current theme of an app.
[6/27] Compiling SwiftTheming ThemeProviding.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/ThemeProvider/ThemeProvider.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
  3 |
  4 | /// An observable object that manages predefined themes and appearances of an app.
  5 | public class ThemeProvider: ObservableObject {
    |              `- note: class 'ThemeProvider' does not conform to the 'Sendable' protocol
  6 |     static let shared: ThemeProvider = ThemeProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- 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
  7 |
  8 |     /// A current theme of an app.
[7/27] Compiling SwiftTheming ThemeProvidingViewModifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/ThemeProvider/ThemeProvider.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
  3 |
  4 | /// An observable object that manages predefined themes and appearances of an app.
  5 | public class ThemeProvider: ObservableObject {
    |              `- note: class 'ThemeProvider' does not conform to the 'Sendable' protocol
  6 |     static let shared: ThemeProvider = ThemeProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- 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
  7 |
  8 |     /// A current theme of an app.
[8/27] Compiling SwiftTheming Appearance.swift
[9/27] Compiling SwiftTheming PreferredAppearance.swift
[10/27] Compiling SwiftTheming AssetKeyWrappable.swift
[11/27] Compiling SwiftTheming Font++.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/ThemeProvider/ThemeProvider.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
  3 |
  4 | /// An observable object that manages predefined themes and appearances of an app.
  5 | public class ThemeProvider: ObservableObject {
    |              `- note: class 'ThemeProvider' does not conform to the 'Sendable' protocol
  6 |     static let shared: ThemeProvider = ThemeProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- 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
  7 |
  8 |     /// A current theme of an app.
[12/27] Compiling SwiftTheming Gradient++.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/ThemeProvider/ThemeProvider.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
  3 |
  4 | /// An observable object that manages predefined themes and appearances of an app.
  5 | public class ThemeProvider: ObservableObject {
    |              `- note: class 'ThemeProvider' does not conform to the 'Sendable' protocol
  6 |     static let shared: ThemeProvider = ThemeProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- 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
  7 |
  8 |     /// A current theme of an app.
[13/27] Compiling SwiftTheming Themed.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/ThemeProvider/ThemeProvider.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
  3 |
  4 | /// An observable object that manages predefined themes and appearances of an app.
  5 | public class ThemeProvider: ObservableObject {
    |              `- note: class 'ThemeProvider' does not conform to the 'Sendable' protocol
  6 |     static let shared: ThemeProvider = ThemeProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- 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
  7 |
  8 |     /// A current theme of an app.
[14/27] Compiling SwiftTheming ThemeProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/ThemeProvider/ThemeProvider.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
  3 |
  4 | /// An observable object that manages predefined themes and appearances of an app.
  5 | public class ThemeProvider: ObservableObject {
    |              `- note: class 'ThemeProvider' does not conform to the 'Sendable' protocol
  6 |     static let shared: ThemeProvider = ThemeProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- 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
  7 |
  8 |     /// A current theme of an app.
[15/27] Compiling SwiftTheming View++.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/Extensions/View++.swift:7:23: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 4 |     /// A modifier that initiates theme provider and inject view as an environment object. This modifier should be called only once at the top of view hierarchy.
 5 |     /// - Returns: view
 6 |     func themeProviding() -> some View {
   |          `- note: add '@MainActor' to make instance method 'themeProviding()' part of global actor 'MainActor'
 7 |         self.modifier(ThemeProvidingViewModifier())
   |                       `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 8 |     }
 9 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/ThemeProvider/ThemeProvidingViewModifier.swift:32:5: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
30 |     ///   - defaultTheme: default theme for first time running
31 |     ///   - defaultAppearance: preferred appearance for first time running
32 |     init() {
   |     `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
33 |         self._themeProvider = ObservedObject<ThemeProvider>(wrappedValue: .shared)
34 |     }
[16/27] Compiling SwiftTheming DefaultTheming.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/Extensions/View++.swift:7:23: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 4 |     /// A modifier that initiates theme provider and inject view as an environment object. This modifier should be called only once at the top of view hierarchy.
 5 |     /// - Returns: view
 6 |     func themeProviding() -> some View {
   |          `- note: add '@MainActor' to make instance method 'themeProviding()' part of global actor 'MainActor'
 7 |         self.modifier(ThemeProvidingViewModifier())
   |                       `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 8 |     }
 9 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/ThemeProvider/ThemeProvidingViewModifier.swift:32:5: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
30 |     ///   - defaultTheme: default theme for first time running
31 |     ///   - defaultAppearance: preferred appearance for first time running
32 |     init() {
   |     `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
33 |         self._themeProvider = ObservedObject<ThemeProvider>(wrappedValue: .shared)
34 |     }
[17/27] Compiling SwiftTheming FontSet.swift
[18/27] Compiling SwiftTheming GradientSet.swift
[19/27] Compiling SwiftTheming Image++.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/ThemeProvider/ThemeProvider.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
  3 |
  4 | /// An observable object that manages predefined themes and appearances of an app.
  5 | public class ThemeProvider: ObservableObject {
    |              `- note: class 'ThemeProvider' does not conform to the 'Sendable' protocol
  6 |     static let shared: ThemeProvider = ThemeProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- 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
  7 |
  8 |     /// A current theme of an app.
[20/27] Compiling SwiftTheming UserDefaults++.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/ThemeProvider/ThemeProvider.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
  3 |
  4 | /// An observable object that manages predefined themes and appearances of an app.
  5 | public class ThemeProvider: ObservableObject {
    |              `- note: class 'ThemeProvider' does not conform to the 'Sendable' protocol
  6 |     static let shared: ThemeProvider = ThemeProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- 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
  7 |
  8 |     /// A current theme of an app.
[21/27] Compiling SwiftTheming Assetable.swift
[22/27] Compiling SwiftTheming EmptyAsset.swift
[23/27] Compiling SwiftTheming ColorSet.swift
[24/27] Compiling SwiftTheming Theme.swift
[25/27] Compiling SwiftTheming Themeable.swift
[26/27] Compiling SwiftTheming ImageSet.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/ThemeProvider/ThemeProvider.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
  3 |
  4 | /// An observable object that manages predefined themes and appearances of an app.
  5 | public class ThemeProvider: ObservableObject {
    |              `- note: class 'ThemeProvider' does not conform to the 'Sendable' protocol
  6 |     static let shared: ThemeProvider = ThemeProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- 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
  7 |
  8 |     /// A current theme of an app.
[27/27] Compiling SwiftTheming Color++.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftTheming/ThemeProvider/ThemeProvider.swift:6:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
  3 |
  4 | /// An observable object that manages predefined themes and appearances of an app.
  5 | public class ThemeProvider: ObservableObject {
    |              `- note: class 'ThemeProvider' does not conform to the 'Sendable' protocol
  6 |     static let shared: ThemeProvider = ThemeProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ThemeProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- 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
  7 |
  8 |     /// A current theme of an app.
Build complete! (62.10s)
Fetching https://github.com/nalexn/ViewInspector.git
[1/11472] Fetching viewinspector
Fetched https://github.com/nalexn/ViewInspector.git from cache (1.16s)
Fetching https://github.com/apple/swift-docc-plugin
[1/1458] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin from cache (1.31s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.3.0 (0.68s)
Fetching https://github.com/apple/swift-docc-symbolkit
[1/2856] Fetching swift-docc-symbolkit
Fetched https://github.com/apple/swift-docc-symbolkit from cache (1.31s)
Computing version for https://github.com/apple/swift-docc-symbolkit
Computed https://github.com/apple/swift-docc-symbolkit at 1.0.0 (0.72s)
Creating working copy for https://github.com/apple/swift-docc-symbolkit
Working copy of https://github.com/apple/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.3.0
Creating working copy for https://github.com/nalexn/ViewInspector.git
Working copy of https://github.com/nalexn/ViewInspector.git resolved at 0.9.0 (0d54687)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "viewinspector",
      "requirement" : {
        "revision" : [
          "0.9.0"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/nalexn/ViewInspector.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "SwiftTheming",
  "name" : "SwiftTheming",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftTheming",
      "targets" : [
        "SwiftTheming"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "SwiftThemingTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftThemingTests",
      "path" : "Tests/SwiftThemingTests",
      "product_dependencies" : [
        "ViewInspector"
      ],
      "sources" : [
        "TestCases/AssetableTests.swift",
        "TestCases/ColorTests.swift",
        "TestCases/DefaultThemingTests.swift",
        "TestCases/FontTests.swift",
        "TestCases/GradientTests.swift",
        "TestCases/ImageTests.swift",
        "TestCases/ThemeProviderTests.swift",
        "TestCases/ThemeProvidingTests.swift",
        "TestCases/UserDefaultsTests.swift",
        "Theme/Theme.swift",
        "Utils/ValueSpy.swift",
        "Views/SpyView.swift",
        "Views/TestView.swift"
      ],
      "target_dependencies" : [
        "SwiftTheming"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftTheming",
      "module_type" : "SwiftTarget",
      "name" : "SwiftTheming",
      "path" : "Sources/SwiftTheming",
      "product_memberships" : [
        "SwiftTheming"
      ],
      "sources" : [
        "Appearance/Appearance.swift",
        "Appearance/PreferredAppearance.swift",
        "Asset/AssetKeyWrappable.swift",
        "Asset/Assetable.swift",
        "Asset/EmptyAsset.swift",
        "Asset/Sets/ColorSet.swift",
        "Asset/Sets/FontSet.swift",
        "Asset/Sets/GradientSet.swift",
        "Asset/Sets/ImageSet.swift",
        "Extensions/Color++.swift",
        "Extensions/Font++.swift",
        "Extensions/Gradient++.swift",
        "Extensions/Image++.swift",
        "Extensions/UserDefaults++.swift",
        "Extensions/View++.swift",
        "Theme/DefaultTheming.swift",
        "Theme/Theme.swift",
        "Theme/Themeable.swift",
        "Theme/Themed.swift",
        "ThemeProvider/ThemeProvider.swift",
        "ThemeProvider/ThemeProviding.swift",
        "ThemeProvider/ThemeProvidingViewModifier.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.