The Swift Package Index logo.Swift Package Index

Build Information

Successful build of AmuseKit, reference main (79ecbd), with Swift 6.1 for macOS (SPM) on 23 Apr 2026 14:59:55 UTC.

Swift 6 data race errors: 10

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.70.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 79ecbdb Add Archive explanation to README file
Cloned https://github.com/jjotaum/AmuseKit.git
Revision (git rev-parse @):
79ecbdb2491a4a2be971e7b015db8d8ccef5fa25
SUCCESS checkout https://github.com/jjotaum/AmuseKit.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/jjotaum/AmuseKit.git
https://github.com/jjotaum/AmuseKit.git
{
  "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"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/5] Compiling KeychainAccess Keychain.swift
[5/5] Emitting module KeychainAccess
[6/30] 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: add '@MainActor' to make static property 'albums' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'artists' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'musicVideos' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'playlists' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'songs' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'albums' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'artists' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'musicVideos' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'playlists' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'songs' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
68 | }
69 |
[7/32] Compiling AmuseKit DataProvider.swift
[8/32] Compiling AmuseKit AmuseKitOption.swift
[9/32] Compiling AmuseKit ResponseRoot.swift
[10/32] Compiling AmuseKit SearchResponse.swift
[11/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: add '@MainActor' to make static property 'albums' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'artists' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'musicVideos' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'playlists' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'songs' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'albums' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'artists' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'musicVideos' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'playlists' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'songs' part of global actor 'MainActor'
   |                `- 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
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
   |                 `- 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
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
41 |                 completion(.success(decodedData))
42 |             } catch {
[12/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: add '@MainActor' to make static property 'albums' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'artists' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'musicVideos' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'playlists' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'songs' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'albums' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'artists' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'musicVideos' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'playlists' part of global actor 'MainActor'
   |                `- 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: add '@MainActor' to make static property 'songs' part of global actor 'MainActor'
   |                `- 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
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
   |                 `- 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
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
41 |                 completion(.success(decodedData))
42 |             } catch {
[13/32] Compiling AmuseKit Router.swift
[14/32] Compiling AmuseKit StorageService.swift
[15/32] Compiling AmuseKit AmuseKit.swift
[16/32] Compiling AmuseKit EmptyCodable.swift
[17/32] Compiling AmuseKit Relationship.swift
[18/32] Compiling AmuseKit CatalogMusicVideo.swift
[19/32] Compiling AmuseKit CatalogPlaylist.swift
[20/32] Compiling AmuseKit CatalogSong.swift
[21/32] Compiling AmuseKit CuratorResource.swift
[22/32] Compiling AmuseKit GenreResource.swift
[23/32] Compiling AmuseKit LibraryAlbum.swift
[24/32] Compiling AmuseKit LibrarySearchResponse.swift
[25/32] Compiling AmuseKit LibrarySong.swift
[26/32] Compiling AmuseKit StationResource.swift
[27/32] Compiling AmuseKit Resource.swift
[28/32] Compiling AmuseKit CatalogAlbum.swift
[29/32] Compiling AmuseKit CatalogArtist.swift
[30/32] Compiling AmuseKit LibraryArtist.swift
[31/32] Compiling AmuseKit LibraryMusicVideo.swift
[32/32] Compiling AmuseKit LibraryPlaylist.swift
Build complete! (10.06s)
Fetching https://github.com/kishikawakatsumi/KeychainAccess.git
[1/4388] Fetching keychainaccess
Fetched https://github.com/kishikawakatsumi/KeychainAccess.git from cache (1.29s)
Computing version for https://github.com/kishikawakatsumi/KeychainAccess.git
Computed https://github.com/kishikawakatsumi/KeychainAccess.git at 4.2.2 (1.89s)
Creating working copy for https://github.com/kishikawakatsumi/KeychainAccess.git
Working copy of https://github.com/kishikawakatsumi/KeychainAccess.git resolved at 4.2.2
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.