Build Information
Successful build of CombineMIDI, reference main (c044ae
), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 05:11:04 UTC.
Swift 6 data race errors: 1
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/mkj-is/CombineMIDI.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/mkj-is/CombineMIDI
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at c044ae3 Release version 0.3.0 and update README examples
Cloned https://github.com/mkj-is/CombineMIDI.git
Revision (git rev-parse @):
c044ae3f65f14f27b2842908ef3eb550e2782bff
SUCCESS checkout https://github.com/mkj-is/CombineMIDI.git at main
========================================
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": "combinemidi",
"name": "CombineMIDI",
"url": "https://github.com/mkj-is/CombineMIDI.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CombineMIDI",
"dependencies": [
]
}
]
}
Fetching https://github.com/mkj-is/CombineMIDI.git
[1/224] Fetching combinemidi
Fetched https://github.com/mkj-is/CombineMIDI.git from cache (0.69s)
Creating working copy for https://github.com/mkj-is/CombineMIDI.git
Working copy of https://github.com/mkj-is/CombineMIDI.git resolved at main (c044ae3)
warning: '.resolve-product-dependencies': dependency 'combinemidi' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/mkj-is/CombineMIDI.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/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/9] Compiling CombineMIDI MIDIStream.swift
[4/9] Compiling CombineMIDI MIDIMessage.swift
/Users/admin/builder/spi-builder-workspace/Sources/CombineMIDI/MIDIMessage.swift:128:16: warning: static property 'allNotesOff' is not concurrency-safe because non-'Sendable' type 'MIDIMessage' may have shared mutable state; this is an error in the Swift 6 language mode
1 | /// Typed MIDI message interpretation.
2 | public struct MIDIMessage {
| `- note: consider making struct 'MIDIMessage' conform to the 'Sendable' protocol
3 | /// Kind of the message.
4 | public enum Status: UInt8 {
:
126 |
127 | /// All Notes Off. When an All Notes Off is received, all oscillators will turn off.
128 | static let allNotesOff: MIDIMessage = MIDIMessage(status: .controlChange, channel: 0, data1: 123, data2: 0)
| |- warning: static property 'allNotesOff' is not concurrency-safe because non-'Sendable' type 'MIDIMessage' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'allNotesOff' 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
129 |
130 | /// Initializes new message manually with all the parameters.
[5/9] Compiling CombineMIDI MIDIPublisher.swift
[6/9] Compiling CombineMIDI MIDISubscription.swift
[7/9] Compiling CombineMIDI MIDIClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/CombineMIDI/MIDIClient.swift:32:30: warning: sending 'message' risks causing data races; this is an error in the Swift 6 language mode
30 | AsyncStream { continuation in
31 | let stream = MIDIStream(client: self) { message in
32 | continuation.yield(message)
| |- warning: sending 'message' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'message' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
33 | }
34 | continuation.onTermination = { @Sendable _ in
[8/9] Compiling CombineMIDI MIDI.swift
/Users/admin/builder/spi-builder-workspace/Sources/CombineMIDI/MIDIMessage.swift:128:16: warning: static property 'allNotesOff' is not concurrency-safe because non-'Sendable' type 'MIDIMessage' may have shared mutable state; this is an error in the Swift 6 language mode
1 | /// Typed MIDI message interpretation.
2 | public struct MIDIMessage {
| `- note: consider making struct 'MIDIMessage' conform to the 'Sendable' protocol
3 | /// Kind of the message.
4 | public enum Status: UInt8 {
:
126 |
127 | /// All Notes Off. When an All Notes Off is received, all oscillators will turn off.
128 | static let allNotesOff: MIDIMessage = MIDIMessage(status: .controlChange, channel: 0, data1: 123, data2: 0)
| |- warning: static property 'allNotesOff' is not concurrency-safe because non-'Sendable' type 'MIDIMessage' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'allNotesOff' 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
129 |
130 | /// Initializes new message manually with all the parameters.
[9/9] Emitting module CombineMIDI
/Users/admin/builder/spi-builder-workspace/Sources/CombineMIDI/MIDIMessage.swift:128:16: warning: static property 'allNotesOff' is not concurrency-safe because non-'Sendable' type 'MIDIMessage' may have shared mutable state; this is an error in the Swift 6 language mode
1 | /// Typed MIDI message interpretation.
2 | public struct MIDIMessage {
| `- note: consider making struct 'MIDIMessage' conform to the 'Sendable' protocol
3 | /// Kind of the message.
4 | public enum Status: UInt8 {
:
126 |
127 | /// All Notes Off. When an All Notes Off is received, all oscillators will turn off.
128 | static let allNotesOff: MIDIMessage = MIDIMessage(status: .controlChange, channel: 0, data1: 123, data2: 0)
| |- warning: static property 'allNotesOff' is not concurrency-safe because non-'Sendable' type 'MIDIMessage' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'allNotesOff' 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
129 |
130 | /// Initializes new message manually with all the parameters.
Build complete! (12.63s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "CombineMIDI",
"name" : "CombineMIDI",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "CombineMIDI",
"targets" : [
"CombineMIDI"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CombineMIDITests",
"module_type" : "SwiftTarget",
"name" : "CombineMIDITests",
"path" : "Tests/CombineMIDITests",
"sources" : [
"MemoryTests.swift"
],
"target_dependencies" : [
"CombineMIDI"
],
"type" : "test"
},
{
"c99name" : "CombineMIDI",
"module_type" : "SwiftTarget",
"name" : "CombineMIDI",
"path" : "Sources/CombineMIDI",
"product_memberships" : [
"CombineMIDI"
],
"sources" : [
"MIDI.swift",
"MIDIClient.swift",
"MIDIMessage.swift",
"MIDIPublisher.swift",
"MIDIStream.swift",
"MIDISubscription.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.