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 AmuseKit, reference main (77080d), with Swift 6.0 for macOS (SPM) on 3 Nov 2024 14:17:30 UTC.

Swift 6 data race errors: 10

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/jjotaum/AmuseKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jjotaum/AmuseKit
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 77080d2 Release 0.5.0 (#6)
Cloned https://github.com/jjotaum/AmuseKit.git
Revision (git rev-parse @):
77080d23c70fcf5b220a1847e956368d158fbb61
SUCCESS checkout https://github.com/jjotaum/AmuseKit.git at main
Fetching https://github.com/kishikawakatsumi/KeychainAccess.git
[1/4389] Fetching keychainaccess
Fetched https://github.com/kishikawakatsumi/KeychainAccess.git from cache (1.40s)
Computing version for https://github.com/kishikawakatsumi/KeychainAccess.git
Computed https://github.com/kishikawakatsumi/KeychainAccess.git at 4.2.2 (0.69s)
Creating working copy for https://github.com/kishikawakatsumi/KeychainAccess.git
Working copy of https://github.com/kishikawakatsumi/KeychainAccess.git resolved at 4.2.2
========================================
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": "amusekit",
      "name": "AmuseKit",
      "url": "https://github.com/jjotaum/AmuseKit.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/AmuseKit",
      "dependencies": [
        {
          "identity": "keychainaccess",
          "name": "KeychainAccess",
          "url": "https://github.com/kishikawakatsumi/KeychainAccess.git",
          "version": "4.2.2",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/KeychainAccess",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/jjotaum/AmuseKit.git
[1/405] Fetching amusekit
Fetched https://github.com/jjotaum/AmuseKit.git from cache (0.91s)
Fetching https://github.com/kishikawakatsumi/KeychainAccess.git from cache
Fetched https://github.com/kishikawakatsumi/KeychainAccess.git from cache (0.56s)
Computing version for https://github.com/kishikawakatsumi/KeychainAccess.git
Computed https://github.com/kishikawakatsumi/KeychainAccess.git at 4.2.2 (0.04s)
Creating working copy for https://github.com/jjotaum/AmuseKit.git
Working copy of https://github.com/jjotaum/AmuseKit.git resolved at main (77080d2)
Creating working copy for https://github.com/kishikawakatsumi/KeychainAccess.git
Working copy of https://github.com/kishikawakatsumi/KeychainAccess.git resolved at 4.2.2
warning: '.resolve-product-dependencies': dependency 'amusekit' is not used by any target
Found 1 product dependencies
  - KeychainAccess
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/jjotaum/AmuseKit.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/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/5] Compiling KeychainAccess Keychain.swift
[5/5] Emitting module KeychainAccess
[6/30] Compiling AmuseKit AmuseKit.swift
[7/30] Compiling AmuseKit EmptyCodable.swift
[8/30] Compiling AmuseKit Relationship.swift
[9/32] Compiling AmuseKit DataProvider.swift
[10/32] Compiling AmuseKit AmuseKitOption.swift
[11/32] Compiling AmuseKit LibraryArtist.swift
[12/32] Compiling AmuseKit LibraryMusicVideo.swift
[13/32] Compiling AmuseKit LibraryPlaylist.swift
[14/32] Compiling AmuseKit ResponseRoot.swift
[15/32] Compiling AmuseKit SearchResponse.swift
[16/32] Compiling AmuseKit CuratorResource.swift
[17/32] Compiling AmuseKit GenreResource.swift
[18/32] Compiling AmuseKit LibraryAlbum.swift
[19/32] Compiling AmuseKit LibrarySearchResponse.swift
[20/32] Compiling AmuseKit LibrarySong.swift
[21/32] Compiling AmuseKit StationResource.swift
[22/32] Compiling AmuseKit ResourceConvertible.swift
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:24:16: warning: static property 'albums' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 |
23 | public extension LibraryResourceConvertible where Model == LibraryAlbum {
24 |     static var albums = Self.init(rawValue: .albums)
   |                |- warning: static property 'albums' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'albums' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'albums' 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
25 | }
26 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:28:16: warning: static property 'artists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | public extension LibraryResourceConvertible where Model == LibraryArtist {
28 |     static var artists = Self.init(rawValue: .artists)
   |                |- warning: static property 'artists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'artists' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'artists' 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
29 | }
30 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:32:16: warning: static property 'musicVideos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
30 |
31 | public extension LibraryResourceConvertible where Model == LibraryMusicVideo {
32 |     static var musicVideos = Self.init(rawValue: .musicVideos)
   |                |- warning: static property 'musicVideos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'musicVideos' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'musicVideos' 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
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:36:16: warning: static property 'playlists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
34 |
35 | public extension LibraryResourceConvertible where Model == LibraryPlaylist {
36 |     static var playlists = Self.init(rawValue: .playlists)
   |                |- warning: static property 'playlists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'playlists' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'playlists' 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
37 | }
38 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:40:16: warning: static property 'songs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
38 |
39 | public extension LibraryResourceConvertible where Model == LibrarySong {
40 |     static var songs = Self.init(rawValue: .songs)
   |                |- warning: static property 'songs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'songs' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'songs' 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
41 | }
42 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:51:16: warning: static property 'albums' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | public extension CatalogResourceConvertible where Model == CatalogAlbum {
51 |     static var albums = Self.init(rawValue: .albums)
   |                |- warning: static property 'albums' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'albums' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'albums' 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
52 | }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:55:16: warning: static property 'artists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | public extension CatalogResourceConvertible where Model == CatalogArtist {
55 |     static var artists = Self.init(rawValue: .artists)
   |                |- warning: static property 'artists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'artists' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'artists' 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
56 | }
57 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:59:16: warning: static property 'musicVideos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
57 |
58 | public extension CatalogResourceConvertible where Model == CatalogMusicVideo {
59 |     static var musicVideos = Self.init(rawValue: .musicVideos)
   |                |- warning: static property 'musicVideos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'musicVideos' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'musicVideos' 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/AmuseKit/Networking/Helpers/ResourceConvertible.swift:63:16: warning: static property 'playlists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
61 |
62 | public extension CatalogResourceConvertible where Model == CatalogPlaylist {
63 |     static var playlists = Self.init(rawValue: .playlists)
   |                |- warning: static property 'playlists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'playlists' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'playlists' 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
64 | }
65 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:67:16: warning: static property 'songs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
65 |
66 | public extension CatalogResourceConvertible where Model == CatalogSong {
67 |     static var songs = Self.init(rawValue: .songs)
   |                |- warning: static property 'songs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'songs' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'songs' 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
68 | }
69 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/RequestCoordinator.swift:31:17: warning: capture of 'completion' with non-sendable type '(RequestResult<T>) -> Void' (aka '(Result<T, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
29 |         dataTask(with: request) { data, response, error in
30 |             if let error = error {
31 |                 completion(.failure(error))
   |                 |- warning: capture of 'completion' with non-sendable type '(RequestResult<T>) -> Void' (aka '(Result<T, any Error>) -> ()') 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'
32 |             }
33 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/RequestCoordinator.swift:40:39: warning: capture of 'decoder' with non-sendable type 'any RequestDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
11 | public typealias RequestResult<T> = Result<T, Error>
12 |
13 | public protocol RequestDecoder {
   |                 `- note: protocol 'RequestDecoder' does not conform to the 'Sendable' protocol
14 |     func decode<T>(_ type: T.Type, from data: Data) throws -> T where T: Decodable
15 | }
   :
38 |
39 |             do {
40 |                 let decodedData = try decoder.decode(T.self, from: data)
   |                                       `- warning: capture of 'decoder' with non-sendable type 'any RequestDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 |                 completion(.success(decodedData))
42 |             } catch {
[23/32] Compiling AmuseKit RequestCoordinator.swift
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:24:16: warning: static property 'albums' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 |
23 | public extension LibraryResourceConvertible where Model == LibraryAlbum {
24 |     static var albums = Self.init(rawValue: .albums)
   |                |- warning: static property 'albums' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'albums' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'albums' 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
25 | }
26 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:28:16: warning: static property 'artists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | public extension LibraryResourceConvertible where Model == LibraryArtist {
28 |     static var artists = Self.init(rawValue: .artists)
   |                |- warning: static property 'artists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'artists' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'artists' 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
29 | }
30 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:32:16: warning: static property 'musicVideos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
30 |
31 | public extension LibraryResourceConvertible where Model == LibraryMusicVideo {
32 |     static var musicVideos = Self.init(rawValue: .musicVideos)
   |                |- warning: static property 'musicVideos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'musicVideos' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'musicVideos' 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
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:36:16: warning: static property 'playlists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
34 |
35 | public extension LibraryResourceConvertible where Model == LibraryPlaylist {
36 |     static var playlists = Self.init(rawValue: .playlists)
   |                |- warning: static property 'playlists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'playlists' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'playlists' 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
37 | }
38 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:40:16: warning: static property 'songs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
38 |
39 | public extension LibraryResourceConvertible where Model == LibrarySong {
40 |     static var songs = Self.init(rawValue: .songs)
   |                |- warning: static property 'songs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'songs' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'songs' 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
41 | }
42 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:51:16: warning: static property 'albums' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | public extension CatalogResourceConvertible where Model == CatalogAlbum {
51 |     static var albums = Self.init(rawValue: .albums)
   |                |- warning: static property 'albums' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'albums' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'albums' 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
52 | }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:55:16: warning: static property 'artists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | public extension CatalogResourceConvertible where Model == CatalogArtist {
55 |     static var artists = Self.init(rawValue: .artists)
   |                |- warning: static property 'artists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'artists' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'artists' 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
56 | }
57 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:59:16: warning: static property 'musicVideos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
57 |
58 | public extension CatalogResourceConvertible where Model == CatalogMusicVideo {
59 |     static var musicVideos = Self.init(rawValue: .musicVideos)
   |                |- warning: static property 'musicVideos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'musicVideos' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'musicVideos' 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/AmuseKit/Networking/Helpers/ResourceConvertible.swift:63:16: warning: static property 'playlists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
61 |
62 | public extension CatalogResourceConvertible where Model == CatalogPlaylist {
63 |     static var playlists = Self.init(rawValue: .playlists)
   |                |- warning: static property 'playlists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'playlists' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'playlists' 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
64 | }
65 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:67:16: warning: static property 'songs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
65 |
66 | public extension CatalogResourceConvertible where Model == CatalogSong {
67 |     static var songs = Self.init(rawValue: .songs)
   |                |- warning: static property 'songs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'songs' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'songs' 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
68 | }
69 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/RequestCoordinator.swift:31:17: warning: capture of 'completion' with non-sendable type '(RequestResult<T>) -> Void' (aka '(Result<T, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
29 |         dataTask(with: request) { data, response, error in
30 |             if let error = error {
31 |                 completion(.failure(error))
   |                 |- warning: capture of 'completion' with non-sendable type '(RequestResult<T>) -> Void' (aka '(Result<T, any Error>) -> ()') 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'
32 |             }
33 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/RequestCoordinator.swift:40:39: warning: capture of 'decoder' with non-sendable type 'any RequestDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
11 | public typealias RequestResult<T> = Result<T, Error>
12 |
13 | public protocol RequestDecoder {
   |                 `- note: protocol 'RequestDecoder' does not conform to the 'Sendable' protocol
14 |     func decode<T>(_ type: T.Type, from data: Data) throws -> T where T: Decodable
15 | }
   :
38 |
39 |             do {
40 |                 let decodedData = try decoder.decode(T.self, from: data)
   |                                       `- warning: capture of 'decoder' with non-sendable type 'any RequestDecoder' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 |                 completion(.success(decodedData))
42 |             } catch {
[24/32] Emitting module AmuseKit
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:24:16: warning: static property 'albums' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 |
23 | public extension LibraryResourceConvertible where Model == LibraryAlbum {
24 |     static var albums = Self.init(rawValue: .albums)
   |                |- warning: static property 'albums' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'albums' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'albums' 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
25 | }
26 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:28:16: warning: static property 'artists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | public extension LibraryResourceConvertible where Model == LibraryArtist {
28 |     static var artists = Self.init(rawValue: .artists)
   |                |- warning: static property 'artists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'artists' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'artists' 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
29 | }
30 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:32:16: warning: static property 'musicVideos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
30 |
31 | public extension LibraryResourceConvertible where Model == LibraryMusicVideo {
32 |     static var musicVideos = Self.init(rawValue: .musicVideos)
   |                |- warning: static property 'musicVideos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'musicVideos' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'musicVideos' 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
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:36:16: warning: static property 'playlists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
34 |
35 | public extension LibraryResourceConvertible where Model == LibraryPlaylist {
36 |     static var playlists = Self.init(rawValue: .playlists)
   |                |- warning: static property 'playlists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'playlists' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'playlists' 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
37 | }
38 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:40:16: warning: static property 'songs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
38 |
39 | public extension LibraryResourceConvertible where Model == LibrarySong {
40 |     static var songs = Self.init(rawValue: .songs)
   |                |- warning: static property 'songs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'songs' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'songs' 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
41 | }
42 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:51:16: warning: static property 'albums' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | public extension CatalogResourceConvertible where Model == CatalogAlbum {
51 |     static var albums = Self.init(rawValue: .albums)
   |                |- warning: static property 'albums' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'albums' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'albums' 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
52 | }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:55:16: warning: static property 'artists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | public extension CatalogResourceConvertible where Model == CatalogArtist {
55 |     static var artists = Self.init(rawValue: .artists)
   |                |- warning: static property 'artists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'artists' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'artists' 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
56 | }
57 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:59:16: warning: static property 'musicVideos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
57 |
58 | public extension CatalogResourceConvertible where Model == CatalogMusicVideo {
59 |     static var musicVideos = Self.init(rawValue: .musicVideos)
   |                |- warning: static property 'musicVideos' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'musicVideos' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'musicVideos' 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/AmuseKit/Networking/Helpers/ResourceConvertible.swift:63:16: warning: static property 'playlists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
61 |
62 | public extension CatalogResourceConvertible where Model == CatalogPlaylist {
63 |     static var playlists = Self.init(rawValue: .playlists)
   |                |- warning: static property 'playlists' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'playlists' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'playlists' 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
64 | }
65 |
/Users/admin/builder/spi-builder-workspace/Sources/AmuseKit/Networking/Helpers/ResourceConvertible.swift:67:16: warning: static property 'songs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
65 |
66 | public extension CatalogResourceConvertible where Model == CatalogSong {
67 |     static var songs = Self.init(rawValue: .songs)
   |                |- warning: static property 'songs' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'songs' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: annotate 'songs' 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
68 | }
69 |
[25/32] Compiling AmuseKit Router.swift
[26/32] Compiling AmuseKit StorageService.swift
[27/32] Compiling AmuseKit Resource.swift
[28/32] Compiling AmuseKit CatalogAlbum.swift
[29/32] Compiling AmuseKit CatalogArtist.swift
[30/32] Compiling AmuseKit CatalogMusicVideo.swift
[31/32] Compiling AmuseKit CatalogPlaylist.swift
[32/32] Compiling AmuseKit CatalogSong.swift
Build complete! (11.06s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "keychainaccess",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.0.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kishikawakatsumi/KeychainAccess.git"
    }
  ],
  "manifest_display_name" : "AmuseKit",
  "name" : "AmuseKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "AmuseKit",
      "targets" : [
        "AmuseKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AmuseKitTests",
      "module_type" : "SwiftTarget",
      "name" : "AmuseKitTests",
      "path" : "Tests/AmuseKitTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmuseKitTests/DataModels/Catalog/catalog_albums.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmuseKitTests/DataModels/Catalog/catalog_artists.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmuseKitTests/DataModels/Catalog/catalog_music-videos.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmuseKitTests/DataModels/Catalog/catalog_playlists.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmuseKitTests/DataModels/Catalog/catalog_search.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmuseKitTests/DataModels/Catalog/catalog_songs.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmuseKitTests/DataModels/Library/library_albums.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmuseKitTests/DataModels/Library/library_artists.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmuseKitTests/DataModels/Library/library_music-videos.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmuseKitTests/DataModels/Library/library_playlists.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmuseKitTests/DataModels/Library/library_search.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmuseKitTests/DataModels/Library/library_songs.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmuseKitTests/DataModels/invalid_authentication.json",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Helpers/MockDataProvider.swift",
        "Helpers/MockRequestCoordinator.swift",
        "Helpers/MockStorageService.swift",
        "Networking/DataProviderTests.swift",
        "Networking/RouterTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "AmuseKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AmuseKit",
      "module_type" : "SwiftTarget",
      "name" : "AmuseKit",
      "path" : "Sources/AmuseKit",
      "product_dependencies" : [
        "KeychainAccess"
      ],
      "product_memberships" : [
        "AmuseKit"
      ],
      "sources" : [
        "AmuseKit.swift",
        "Models/Codable/EmptyCodable.swift",
        "Models/Relationship.swift",
        "Models/Resource.swift",
        "Models/Resources/CatalogAlbum.swift",
        "Models/Resources/CatalogArtist.swift",
        "Models/Resources/CatalogMusicVideo.swift",
        "Models/Resources/CatalogPlaylist.swift",
        "Models/Resources/CatalogSong.swift",
        "Models/Resources/CuratorResource.swift",
        "Models/Resources/GenreResource.swift",
        "Models/Resources/LibraryAlbum.swift",
        "Models/Resources/LibraryArtist.swift",
        "Models/Resources/LibraryMusicVideo.swift",
        "Models/Resources/LibraryPlaylist.swift",
        "Models/Resources/LibrarySearchResponse.swift",
        "Models/Resources/LibrarySong.swift",
        "Models/Resources/StationResource.swift",
        "Models/ResponseRoot.swift",
        "Models/SearchResponse.swift",
        "Networking/DataProvider.swift",
        "Networking/Helpers/AmuseKitOption.swift",
        "Networking/Helpers/ResourceConvertible.swift",
        "Networking/RequestCoordinator.swift",
        "Networking/Router.swift",
        "Storage/StorageService.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Done.