Build Information
Successful build of Iris, reference main (570ee9), with Swift 6.2 for macOS (SPM) on 14 Aug 2026 14:05:45 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Chandram-Dutta/Iris.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Chandram-Dutta/Iris
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 570ee91 Add audio system with Sound and Music APIs
Cloned https://github.com/Chandram-Dutta/Iris.git
Revision (git rev-parse @):
570ee918d0a3056c1f23b3a3d3965a7df20a568e
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/Chandram-Dutta/Iris.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/Chandram-Dutta/Iris.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/25] Write sources
[6/25] Write IrisRunner-entitlement.plist
[7/25] Write sources
[7/25] Write SpaceShooter-entitlement.plist
[9/25] Write Snake-entitlement.plist
[10/25] Write Breakout-entitlement.plist
[11/25] Copying Resources
[12/25] Write swift-version--3CB7CFEC50E0D141.txt
[14/46] Compiling Iris Iris.swift
[15/46] Compiling Iris Math.swift
[16/46] Compiling Iris Image.swift
[17/46] Compiling Iris Input.swift
[18/46] Compiling Iris DrawCommand.swift
[19/46] Compiling Iris Font.swift
[20/46] Compiling Iris Game.swift
[21/46] Compiling Iris WindowConfig.swift
[22/48] Compiling Iris PixelMask.swift
[23/48] Compiling Iris Engine.swift
[24/48] Emitting module Iris
[25/48] Compiling Iris AudioBackend.swift
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:232:24: warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
230 | consumed = true
231 | outStatus.pointee = .haveData
232 | return buffer
| `- warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
233 | }
234 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
65 | */
66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
67 | @interface AVAudioPCMBuffer : AVAudioBuffer
| `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
68 |
69 | /*! @method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:2:5: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
1 | #if os(macOS)
2 | import AVFoundation
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
3 | import Foundation
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:226:20: warning: reference to captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
224 | var error: NSError?
225 | let status = converter.convert(to: outBuffer, error: &error) { _, outStatus in
226 | if consumed {
| `- warning: reference to captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
227 | outStatus.pointee = .endOfStream
228 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:230:17: warning: mutation of captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
228 | return nil
229 | }
230 | consumed = true
| `- warning: mutation of captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
231 | outStatus.pointee = .haveData
232 | return buffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[26/48] Compiling Iris Music.swift
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:232:24: warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
230 | consumed = true
231 | outStatus.pointee = .haveData
232 | return buffer
| `- warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
233 | }
234 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
65 | */
66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
67 | @interface AVAudioPCMBuffer : AVAudioBuffer
| `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
68 |
69 | /*! @method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:2:5: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
1 | #if os(macOS)
2 | import AVFoundation
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
3 | import Foundation
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:226:20: warning: reference to captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
224 | var error: NSError?
225 | let status = converter.convert(to: outBuffer, error: &error) { _, outStatus in
226 | if consumed {
| `- warning: reference to captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
227 | outStatus.pointee = .endOfStream
228 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:230:17: warning: mutation of captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
228 | return nil
229 | }
230 | consumed = true
| `- warning: mutation of captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
231 | outStatus.pointee = .haveData
232 | return buffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[27/48] Compiling Iris Sound.swift
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:232:24: warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
230 | consumed = true
231 | outStatus.pointee = .haveData
232 | return buffer
| `- warning: capture of 'buffer' with non-Sendable type 'AVAudioPCMBuffer' in a '@Sendable' closure [#SendableClosureCaptures]
233 | }
234 |
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
65 | */
66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
67 | @interface AVAudioPCMBuffer : AVAudioBuffer
| `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
68 |
69 | /*! @method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:2:5: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
1 | #if os(macOS)
2 | import AVFoundation
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'AVFAudio' as warnings
3 | import Foundation
4 |
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:226:20: warning: reference to captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
224 | var error: NSError?
225 | let status = converter.convert(to: outBuffer, error: &error) { _, outStatus in
226 | if consumed {
| `- warning: reference to captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
227 | outStatus.pointee = .endOfStream
228 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/Iris/Audio/AudioBackend.swift:230:17: warning: mutation of captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
228 | return nil
229 | }
230 | consumed = true
| `- warning: mutation of captured var 'consumed' in concurrently-executing code [#SendableClosureCaptures]
231 | outStatus.pointee = .haveData
232 | return buffer
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[28/48] Compiling Iris MacApp.swift
[29/48] Compiling Iris MacWindow.swift
[30/48] Compiling Iris CollisionDetection.swift
[31/48] Compiling Iris ConvexHull.swift
[32/48] Compiling Iris Hitbox.swift
[33/48] Compiling Iris GlyphAtlas.swift
[34/48] Compiling Iris Graphics.swift
[35/48] Compiling Iris MetalView.swift
[36/48] Compiling Iris Renderer.swift
[37/72] Compiling Breakout Paddle.swift
[38/72] Compiling Breakout main.swift
[39/72] Compiling Breakout Brick.swift
[40/72] Compiling SpaceShooter resource_bundle_accessor.swift
[41/72] Compiling SpaceShooter main.swift
[42/72] Compiling SpaceShooter Star.swift
[43/72] Compiling IrisRunner IrisRunner.swift
[44/72] Emitting module IrisRunner
[44/72] Write Objects.LinkFileList
[46/72] Compiling SpaceShooter Explosion.swift
[47/72] Compiling SpaceShooter Bullet.swift
[48/72] Emitting module SpaceShooter
[49/72] Compiling SpaceShooter Enemy.swift
[50/72] Emitting module Breakout
[51/72] Compiling Breakout Ball.swift
[52/72] Compiling Breakout BreakoutGame.swift
[52/72] Write Objects.LinkFileList
[54/72] Emitting module Snake
[55/72] Compiling Snake main.swift
[56/72] Compiling Snake SnakeGame.swift
[57/72] Compiling Snake Grid.swift
[58/72] Compiling Snake Food.swift
[59/72] Compiling Snake Snake.swift
[59/72] Write Objects.LinkFileList
[61/72] Compiling SpaceShooter Player.swift
[62/72] Compiling SpaceShooter GameResources.swift
[63/72] Compiling SpaceShooter SpaceShooterGame.swift
[63/72] Write Objects.LinkFileList
[64/72] Linking IrisRunner
[65/72] Linking Breakout
[65/72] Linking Snake
[67/72] Applying IrisRunner
[68/72] Applying Snake
[68/72] Applying Breakout
[70/72] Linking SpaceShooter
[71/72] Applying SpaceShooter
Build complete! (28.56s)
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.56s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (4.32s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3807] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.36s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.04s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Build complete.
{
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-docc-plugin"
}
],
"manifest_display_name" : "Iris",
"name" : "Iris",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "Iris",
"targets" : [
"Iris"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "IrisRunner",
"targets" : [
"IrisRunner"
],
"type" : {
"executable" : null
}
},
{
"name" : "Breakout",
"targets" : [
"Breakout"
],
"type" : {
"executable" : null
}
},
{
"name" : "Snake",
"targets" : [
"Snake"
],
"type" : {
"executable" : null
}
},
{
"name" : "SpaceShooter",
"targets" : [
"SpaceShooter"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "SpaceShooter",
"module_type" : "SwiftTarget",
"name" : "SpaceShooter",
"path" : "Examples/SpaceShooter",
"product_memberships" : [
"SpaceShooter"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Examples/SpaceShooter/Resources",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"Bullet.swift",
"Enemy.swift",
"Explosion.swift",
"GameResources.swift",
"Player.swift",
"SpaceShooterGame.swift",
"Star.swift",
"main.swift"
],
"target_dependencies" : [
"Iris"
],
"type" : "executable"
},
{
"c99name" : "Snake",
"module_type" : "SwiftTarget",
"name" : "Snake",
"path" : "Examples/Snake",
"product_memberships" : [
"Snake"
],
"sources" : [
"Food.swift",
"Grid.swift",
"Snake.swift",
"SnakeGame.swift",
"main.swift"
],
"target_dependencies" : [
"Iris"
],
"type" : "executable"
},
{
"c99name" : "IrisTests",
"module_type" : "SwiftTarget",
"name" : "IrisTests",
"path" : "Tests/IrisTests",
"sources" : [
"AudioTests.swift",
"CollisionTests.swift",
"IrisTests.swift"
],
"target_dependencies" : [
"Iris"
],
"type" : "test"
},
{
"c99name" : "IrisRunner",
"module_type" : "SwiftTarget",
"name" : "IrisRunner",
"path" : "Sources/IrisRunner",
"product_memberships" : [
"IrisRunner"
],
"sources" : [
"IrisRunner.swift"
],
"target_dependencies" : [
"Iris"
],
"type" : "executable"
},
{
"c99name" : "Iris",
"module_type" : "SwiftTarget",
"name" : "Iris",
"path" : "Sources/Iris",
"product_memberships" : [
"Iris",
"IrisRunner",
"Breakout",
"Snake",
"SpaceShooter"
],
"sources" : [
"Audio/AudioBackend.swift",
"Audio/Music.swift",
"Audio/Sound.swift",
"Collision/CollisionDetection.swift",
"Collision/ConvexHull.swift",
"Collision/Hitbox.swift",
"Collision/PixelMask.swift",
"Core/Engine.swift",
"Core/Game.swift",
"Core/WindowConfig.swift",
"Graphics/DrawCommand.swift",
"Graphics/Font.swift",
"Graphics/GlyphAtlas.swift",
"Graphics/Graphics.swift",
"Graphics/Image.swift",
"Input/Input.swift",
"Iris.swift",
"Math.swift",
"Platform/macOS/MacApp.swift",
"Platform/macOS/MacWindow.swift",
"Platform/macOS/MetalView.swift",
"Rendering/Renderer.swift"
],
"type" : "library"
},
{
"c99name" : "Breakout",
"module_type" : "SwiftTarget",
"name" : "Breakout",
"path" : "Examples/Breakout",
"product_memberships" : [
"Breakout"
],
"sources" : [
"Ball.swift",
"BreakoutGame.swift",
"Brick.swift",
"Paddle.swift",
"main.swift"
],
"target_dependencies" : [
"Iris"
],
"type" : "executable"
}
],
"tools_version" : "6.2"
}
Done.