The Swift Package Index logo.Swift Package Index

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 arm64

Build 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.