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.