The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of swift-chess, reference 1.0.8 (14d9d9), with Swift 6.2 (beta) for macOS (SPM) on 18 Jun 2025 20:23:21 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dpedley/swift-chess.git
Reference: 1.0.8
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/dpedley/swift-chess
 * tag               1.0.8      -> FETCH_HEAD
HEAD is now at 14d9d98 Release prep (#42)
Cloned https://github.com/dpedley/swift-chess.git
Revision (git rev-parse @):
14d9d982c8a509efcfebf696c140b0ec397daf40
SUCCESS checkout https://github.com/dpedley/swift-chess.git at 1.0.8
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/dpedley/swift-chess.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-1EA4D86E10B52AF.txt
[4/8] Compiling Logging MetadataProvider.swift
[5/8] Emitting module Logging
[6/8] Compiling Logging Logging.swift
[7/8] Compiling Logging Locks.swift
[8/8] Compiling Logging LogHandler.swift
[9/77] Emitting module Chess
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape+Details.swift:14:13: warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
12 |     struct Details: Shape {
13 |         var inset: CGFloat = 0.1
14 |         let artwork: PieceArtwork
   |             `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
15 |         func path(in rect: CGRect) -> Path {
16 |             return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape.swift:13:9: warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
11 | struct PieceShape: Shape {
12 |     var inset: CGFloat = 0.1
13 |     let artwork: PieceArtwork
   |         `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
14 |     func path(in rect: CGRect) -> Path {
15 |         return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Sound.swift:9:43: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
 7 | /// The sound is handled outside of this library, but for timing the optional
 8 | /// methods are included here.
 9 | public protocol ChessSoundEffectDelegate: class {
   |                                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
10 |     func move()
11 |     func capture()
[10/84] Compiling Chess ChessThemes.swift
[11/84] Compiling Chess Defaults.swift
[12/84] Compiling Chess CoreGraphics+RelativeShape.swift
[13/84] Compiling Chess GridItem+Chess.swift
[14/84] Compiling Chess PieceDrag.swift
[15/84] Compiling Chess Bishop.swift
[16/84] Compiling Chess King.swift
[17/84] Compiling Chess Chess+URL.swift
[18/84] Compiling Chess ChessRobot.swift
[19/84] Compiling Chess HumanPlayer.swift
[20/84] Compiling Chess Player.swift
[21/84] Compiling Chess PlayerFactory.swift
[22/84] Compiling Chess CautiousBot.swift
[23/84] Compiling Chess GreedyBot.swift
[24/84] Compiling Chess MindyMaxBot.swift
[25/84] Compiling Chess PieceShape+Details.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape+Details.swift:14:13: warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
12 |     struct Details: Shape {
13 |         var inset: CGFloat = 0.1
14 |         let artwork: PieceArtwork
   |             `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
15 |         func path(in rect: CGRect) -> Path {
16 |             return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape.swift:13:9: warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
11 | struct PieceShape: Shape {
12 |     var inset: CGFloat = 0.1
13 |     let artwork: PieceArtwork
   |         `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
14 |     func path(in rect: CGRect) -> Path {
15 |         return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
[26/84] Compiling Chess PieceShape.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape+Details.swift:14:13: warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
12 |     struct Details: Shape {
13 |         var inset: CGFloat = 0.1
14 |         let artwork: PieceArtwork
   |             `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
15 |         func path(in rect: CGRect) -> Path {
16 |             return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape.swift:13:9: warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
11 | struct PieceShape: Shape {
12 |     var inset: CGFloat = 0.1
13 |     let artwork: PieceArtwork
   |         `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
14 |     func path(in rect: CGRect) -> Path {
15 |         return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
[27/84] Compiling Chess PieceStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape+Details.swift:14:13: warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
12 |     struct Details: Shape {
13 |         var inset: CGFloat = 0.1
14 |         let artwork: PieceArtwork
   |             `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
15 |         func path(in rect: CGRect) -> Path {
16 |             return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape.swift:13:9: warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
11 | struct PieceShape: Shape {
12 |     var inset: CGFloat = 0.1
13 |     let artwork: PieceArtwork
   |         `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
14 |     func path(in rect: CGRect) -> Path {
15 |         return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
[28/84] Compiling Chess PieceView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape+Details.swift:14:13: warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
12 |     struct Details: Shape {
13 |         var inset: CGFloat = 0.1
14 |         let artwork: PieceArtwork
   |             `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
15 |         func path(in rect: CGRect) -> Path {
16 |             return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape.swift:13:9: warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
11 | struct PieceShape: Shape {
12 |     var inset: CGFloat = 0.1
13 |     let artwork: PieceArtwork
   |         `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
14 |     func path(in rect: CGRect) -> Path {
15 |         return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
[29/84] Compiling Chess PlayAsButton.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape+Details.swift:14:13: warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
12 |     struct Details: Shape {
13 |         var inset: CGFloat = 0.1
14 |         let artwork: PieceArtwork
   |             `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
15 |         func path(in rect: CGRect) -> Path {
16 |             return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape.swift:13:9: warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
11 | struct PieceShape: Shape {
12 |     var inset: CGFloat = 0.1
13 |     let artwork: PieceArtwork
   |         `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
14 |     func path(in rect: CGRect) -> Path {
15 |         return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
[30/84] Compiling Chess PlayPauseButton.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape+Details.swift:14:13: warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
12 |     struct Details: Shape {
13 |         var inset: CGFloat = 0.1
14 |         let artwork: PieceArtwork
   |             `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
15 |         func path(in rect: CGRect) -> Path {
16 |             return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape.swift:13:9: warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
11 | struct PieceShape: Shape {
12 |     var inset: CGFloat = 0.1
13 |     let artwork: PieceArtwork
   |         `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
14 |     func path(in rect: CGRect) -> Path {
15 |         return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
[31/84] Compiling Chess PlayerTitleView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape+Details.swift:14:13: warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
12 |     struct Details: Shape {
13 |         var inset: CGFloat = 0.1
14 |         let artwork: PieceArtwork
   |             `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'Details' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
15 |         func path(in rect: CGRect) -> Path {
16 |             return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceShape.swift:13:9: warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
11 | struct PieceShape: Shape {
12 |     var inset: CGFloat = 0.1
13 |     let artwork: PieceArtwork
   |         `- warning: stored property 'artwork' of 'Sendable'-conforming struct 'PieceShape' has non-sendable type 'PieceArtwork'; this is an error in the Swift 6 language mode
14 |     func path(in rect: CGRect) -> Path {
15 |         return Path { path in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/PieceArtwork/PieceArtwork.swift:11:15: note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
 9 | import SwiftUI
10 |
11 | public struct PieceArtwork {
   |               `- note: consider making struct 'PieceArtwork' conform to the 'Sendable' protocol
12 |     let start: CGPoint
13 |     let strokes: [Stroke]
[32/84] Compiling Chess ResetBoardButton.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Sound.swift:9:43: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
 7 | /// The sound is handled outside of this library, but for timing the optional
 8 | /// methods are included here.
 9 | public protocol ChessSoundEffectDelegate: class {
   |                                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
10 |     func move()
11 |     func capture()
[33/84] Compiling Chess Sound.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Sound.swift:9:43: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
 7 | /// The sound is handled outside of this library, but for timing the optional
 8 | /// methods are included here.
 9 | public protocol ChessSoundEffectDelegate: class {
   |                                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
10 |     func move()
11 |     func capture()
[34/84] Compiling Chess SquareBackground.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Sound.swift:9:43: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
 7 | /// The sound is handled outside of this library, but for timing the optional
 8 | /// methods are included here.
 9 | public protocol ChessSoundEffectDelegate: class {
   |                                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
10 |     func move()
11 |     func capture()
[35/84] Compiling Chess SquareMoveHighlight.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Sound.swift:9:43: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
 7 | /// The sound is handled outside of this library, but for timing the optional
 8 | /// methods are included here.
 9 | public protocol ChessSoundEffectDelegate: class {
   |                                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
10 |     func move()
11 |     func capture()
[36/84] Compiling Chess SquareSelected.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Sound.swift:9:43: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
 7 | /// The sound is handled outside of this library, but for timing the optional
 8 | /// methods are included here.
 9 | public protocol ChessSoundEffectDelegate: class {
   |                                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
10 |     func move()
11 |     func capture()
[37/84] Compiling Chess SquareTargeted.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Sound.swift:9:43: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
 7 | /// The sound is handled outside of this library, but for timing the optional
 8 | /// methods are included here.
 9 | public protocol ChessSoundEffectDelegate: class {
   |                                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
10 |     func move()
11 |     func capture()
[38/84] Compiling Chess UI.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/Sound.swift:9:43: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
 7 | /// The sound is handled outside of this library, but for timing the optional
 8 | /// methods are included here.
 9 | public protocol ChessSoundEffectDelegate: class {
   |                                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
10 |     func move()
11 |     func capture()
[39/84] Compiling Chess Knight.swift
[40/84] Compiling Chess Pawn.swift
[41/84] Compiling Chess PieceArtwork+Drawing.swift
[42/84] Compiling Chess PieceArtwork.swift
[43/84] Compiling Chess Queen.swift
[44/84] Compiling Chess Rook.swift
[45/84] Compiling Chess PieceGlyph.swift
[46/84] Compiling Chess GameStatus.swift
[47/84] Compiling Chess Move+Names.swift
[48/84] Compiling Chess Move.swift
[49/84] Compiling Chess Piece.swift
[50/84] Compiling Chess PieceType.swift
[51/84] Compiling Chess Side+Move.swift
[52/84] Compiling Chess Side.swift
[53/84] Compiling Chess SideEffect.swift
[54/84] Compiling Chess Position.swift
[55/84] Compiling Chess SingleMoveVariant.swift
[56/84] Compiling Chess Square.swift
[57/84] Compiling Chess Chess.swift
[58/84] Compiling Chess Game+Notation.swift
[59/84] Compiling Chess Game+Piece.swift
[60/84] Compiling Chess Game+Rules.swift
[61/84] Compiling Chess Game.swift
[62/84] Compiling Chess Board+Analysis.swift
[63/84] Compiling Chess Board+FEN.swift
[64/84] Compiling Chess Board+Game.swift
[65/84] Compiling Chess Board+Moves.swift
[66/84] Compiling Chess Board.swift
[67/84] Compiling Chess BoardVariant+GameplayKit.swift
[68/84] Compiling Chess BoardVariant.swift
[69/84] Compiling Chess Position+Names.swift
[70/84] Compiling Chess ChessStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:36:29: warning: non-constant range: argument must be an integer literal
34 |         GeometryReader { geometry in
35 |             VStack(alignment: .center, spacing: 0) {
36 |                 ForEach(0..<height) { yIdx in
   |                             `- warning: non-constant range: argument must be an integer literal
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:38:37: warning: non-constant range: argument must be an integer literal
36 |                 ForEach(0..<height) { yIdx in
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
   |                                     `- warning: non-constant range: argument must be an integer literal
39 |                             Rectangle()
40 |                                 .fill( (yIdx + xIdx) % 2 == 0 ? color.dark : color.light )
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:49:67: warning: non-constant range: argument must be an integer literal
 47 |                     Picker(selection: $store.game.playerFactory.white,
 48 |                            label: Text("White")) {
 49 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 50 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.white))
 51 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:58:67: warning: non-constant range: argument must be an integer literal
 56 |                     Picker(selection: $store.game.playerFactory.black,
 57 |                            label: Text("Black")) {
 58 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 59 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.black))
 60 |                         }
[71/84] Compiling Chess EnvironmentReducer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:36:29: warning: non-constant range: argument must be an integer literal
34 |         GeometryReader { geometry in
35 |             VStack(alignment: .center, spacing: 0) {
36 |                 ForEach(0..<height) { yIdx in
   |                             `- warning: non-constant range: argument must be an integer literal
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:38:37: warning: non-constant range: argument must be an integer literal
36 |                 ForEach(0..<height) { yIdx in
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
   |                                     `- warning: non-constant range: argument must be an integer literal
39 |                             Rectangle()
40 |                                 .fill( (yIdx + xIdx) % 2 == 0 ? color.dark : color.light )
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:49:67: warning: non-constant range: argument must be an integer literal
 47 |                     Picker(selection: $store.game.playerFactory.white,
 48 |                            label: Text("White")) {
 49 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 50 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.white))
 51 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:58:67: warning: non-constant range: argument must be an integer literal
 56 |                     Picker(selection: $store.game.playerFactory.black,
 57 |                            label: Text("Black")) {
 58 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 59 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.black))
 60 |                         }
[72/84] Compiling Chess GameActions.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:36:29: warning: non-constant range: argument must be an integer literal
34 |         GeometryReader { geometry in
35 |             VStack(alignment: .center, spacing: 0) {
36 |                 ForEach(0..<height) { yIdx in
   |                             `- warning: non-constant range: argument must be an integer literal
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:38:37: warning: non-constant range: argument must be an integer literal
36 |                 ForEach(0..<height) { yIdx in
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
   |                                     `- warning: non-constant range: argument must be an integer literal
39 |                             Rectangle()
40 |                                 .fill( (yIdx + xIdx) % 2 == 0 ? color.dark : color.light )
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:49:67: warning: non-constant range: argument must be an integer literal
 47 |                     Picker(selection: $store.game.playerFactory.white,
 48 |                            label: Text("White")) {
 49 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 50 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.white))
 51 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:58:67: warning: non-constant range: argument must be an integer literal
 56 |                     Picker(selection: $store.game.playerFactory.black,
 57 |                            label: Text("Black")) {
 58 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 59 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.black))
 60 |                         }
[73/84] Compiling Chess GameReducer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:36:29: warning: non-constant range: argument must be an integer literal
34 |         GeometryReader { geometry in
35 |             VStack(alignment: .center, spacing: 0) {
36 |                 ForEach(0..<height) { yIdx in
   |                             `- warning: non-constant range: argument must be an integer literal
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:38:37: warning: non-constant range: argument must be an integer literal
36 |                 ForEach(0..<height) { yIdx in
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
   |                                     `- warning: non-constant range: argument must be an integer literal
39 |                             Rectangle()
40 |                                 .fill( (yIdx + xIdx) % 2 == 0 ? color.dark : color.light )
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:49:67: warning: non-constant range: argument must be an integer literal
 47 |                     Picker(selection: $store.game.playerFactory.white,
 48 |                            label: Text("White")) {
 49 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 50 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.white))
 51 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:58:67: warning: non-constant range: argument must be an integer literal
 56 |                     Picker(selection: $store.game.playerFactory.black,
 57 |                            label: Text("Black")) {
 58 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 59 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.black))
 60 |                         }
[74/84] Compiling Chess BoardIconView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:36:29: warning: non-constant range: argument must be an integer literal
34 |         GeometryReader { geometry in
35 |             VStack(alignment: .center, spacing: 0) {
36 |                 ForEach(0..<height) { yIdx in
   |                             `- warning: non-constant range: argument must be an integer literal
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:38:37: warning: non-constant range: argument must be an integer literal
36 |                 ForEach(0..<height) { yIdx in
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
   |                                     `- warning: non-constant range: argument must be an integer literal
39 |                             Rectangle()
40 |                                 .fill( (yIdx + xIdx) % 2 == 0 ? color.dark : color.light )
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:49:67: warning: non-constant range: argument must be an integer literal
 47 |                     Picker(selection: $store.game.playerFactory.white,
 48 |                            label: Text("White")) {
 49 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 50 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.white))
 51 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:58:67: warning: non-constant range: argument must be an integer literal
 56 |                     Picker(selection: $store.game.playerFactory.black,
 57 |                            label: Text("Black")) {
 58 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 59 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.black))
 60 |                         }
[75/84] Compiling Chess BoardView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:36:29: warning: non-constant range: argument must be an integer literal
34 |         GeometryReader { geometry in
35 |             VStack(alignment: .center, spacing: 0) {
36 |                 ForEach(0..<height) { yIdx in
   |                             `- warning: non-constant range: argument must be an integer literal
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:38:37: warning: non-constant range: argument must be an integer literal
36 |                 ForEach(0..<height) { yIdx in
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
   |                                     `- warning: non-constant range: argument must be an integer literal
39 |                             Rectangle()
40 |                                 .fill( (yIdx + xIdx) % 2 == 0 ? color.dark : color.light )
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:49:67: warning: non-constant range: argument must be an integer literal
 47 |                     Picker(selection: $store.game.playerFactory.white,
 48 |                            label: Text("White")) {
 49 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 50 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.white))
 51 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:58:67: warning: non-constant range: argument must be an integer literal
 56 |                     Picker(selection: $store.game.playerFactory.black,
 57 |                            label: Text("Black")) {
 58 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 59 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.black))
 60 |                         }
[76/84] Compiling Chess ChessSettingsView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:36:29: warning: non-constant range: argument must be an integer literal
34 |         GeometryReader { geometry in
35 |             VStack(alignment: .center, spacing: 0) {
36 |                 ForEach(0..<height) { yIdx in
   |                             `- warning: non-constant range: argument must be an integer literal
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/BoardIconView.swift:38:37: warning: non-constant range: argument must be an integer literal
36 |                 ForEach(0..<height) { yIdx in
37 |                     HStack(alignment: .center, spacing: 0) {
38 |                         ForEach(0..<width) { xIdx in
   |                                     `- warning: non-constant range: argument must be an integer literal
39 |                             Rectangle()
40 |                                 .fill( (yIdx + xIdx) % 2 == 0 ? color.dark : color.light )
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:49:67: warning: non-constant range: argument must be an integer literal
 47 |                     Picker(selection: $store.game.playerFactory.white,
 48 |                            label: Text("White")) {
 49 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 50 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.white))
 51 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/Chess/UI/ChessSettingsView.swift:58:67: warning: non-constant range: argument must be an integer literal
 56 |                     Picker(selection: $store.game.playerFactory.black,
 57 |                            label: Text("Black")) {
 58 |                         ForEach(0 ..< Chess.playerFactory.players.count) {
    |                                                                   `- warning: non-constant range: argument must be an integer literal
 59 |                             PlayerTitleView(player: Chess.playerFactory.players[$0](.black))
 60 |                         }
[77/84] Compiling Chess MontyCarlo.swift
[78/84] Compiling Chess PlaybackBot.swift
[79/84] Compiling Chess Robot+Choices.swift
[80/84] Compiling Chess Robot+Names.swift
[81/84] Compiling Chess Robot+Previews.swift
[82/84] Compiling Chess ChessPreferences.swift
[83/84] Compiling Chess ChessEnvironment.swift
[84/84] Compiling Chess ChessStore+Preview.swift
Build complete! (11.88s)
Fetching https://github.com/apple/swift-log.git
[1/3836] Fetching swift-log
Fetched https://github.com/apple/swift-log.git from cache (0.97s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.3 (1.38s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.3
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Sources/Chess/PlayChess': File not found.
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    }
  ],
  "manifest_display_name" : "swift-chess",
  "name" : "swift-chess",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "ios",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "Chess",
      "targets" : [
        "Chess"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ChessTests",
      "module_type" : "SwiftTarget",
      "name" : "ChessTests",
      "path" : "Tests/ChessTests",
      "sources" : [
        "BoardAnalysisTests.swift",
        "BoardFenTests.swift",
        "ChessRobotTests.swift",
        "ChessTests.swift",
        "GameTests.swift",
        "GameplayKitTests.swift",
        "MoveTests.swift",
        "NamedPositionTests.swift",
        "PieceMoveTests.swift",
        "PieceWeightTests.swift",
        "PositionTests.swift",
        "PromotionTests.swift",
        "RankAndFileTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "Chess"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Chess",
      "module_type" : "SwiftTarget",
      "name" : "Chess",
      "path" : "Sources/Chess",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "Chess"
      ],
      "sources" : [
        "Board/Board+Analysis.swift",
        "Board/Board+FEN.swift",
        "Board/Board+Game.swift",
        "Board/Board+Moves.swift",
        "Board/Board.swift",
        "Board/BoardVariant+GameplayKit.swift",
        "Board/BoardVariant.swift",
        "Board/Position+Names.swift",
        "Board/Position.swift",
        "Board/SingleMoveVariant.swift",
        "Board/Square.swift",
        "Chess.swift",
        "Game/Game+Notation.swift",
        "Game/Game+Piece.swift",
        "Game/Game+Rules.swift",
        "Game/Game.swift",
        "Game/GameStatus.swift",
        "Game/Move+Names.swift",
        "Game/Move.swift",
        "Game/Piece.swift",
        "Game/PieceType.swift",
        "Game/Side+Move.swift",
        "Game/Side.swift",
        "Game/SideEffect.swift",
        "Online/Chess+URL.swift",
        "Player/ChessRobot.swift",
        "Player/HumanPlayer.swift",
        "Player/Player.swift",
        "Player/PlayerFactory.swift",
        "Robots/CautiousBot.swift",
        "Robots/GreedyBot.swift",
        "Robots/MindyMaxBot.swift",
        "Robots/MontyCarlo.swift",
        "Robots/PlaybackBot.swift",
        "Robots/Robot+Choices.swift",
        "Robots/Robot+Names.swift",
        "Robots/Robot+Previews.swift",
        "Settings/ChessPreferences.swift",
        "Store/ChessEnvironment.swift",
        "Store/ChessStore+Preview.swift",
        "Store/ChessStore.swift",
        "Store/EnvironmentReducer.swift",
        "Store/GameActions.swift",
        "Store/GameReducer.swift",
        "UI/BoardIconView.swift",
        "UI/BoardView.swift",
        "UI/ChessSettingsView.swift",
        "UI/ChessThemes.swift",
        "UI/Defaults.swift",
        "UI/Extensions/CoreGraphics+RelativeShape.swift",
        "UI/Extensions/GridItem+Chess.swift",
        "UI/Interactions/PieceDrag.swift",
        "UI/PieceArtwork/Bishop.swift",
        "UI/PieceArtwork/King.swift",
        "UI/PieceArtwork/Knight.swift",
        "UI/PieceArtwork/Pawn.swift",
        "UI/PieceArtwork/PieceArtwork+Drawing.swift",
        "UI/PieceArtwork/PieceArtwork.swift",
        "UI/PieceArtwork/Queen.swift",
        "UI/PieceArtwork/Rook.swift",
        "UI/PieceGlyph.swift",
        "UI/PieceShape+Details.swift",
        "UI/PieceShape.swift",
        "UI/PieceStyle.swift",
        "UI/PieceView.swift",
        "UI/PlayAsButton.swift",
        "UI/PlayPauseButton.swift",
        "UI/PlayerTitleView.swift",
        "UI/ResetBoardButton.swift",
        "UI/Sound.swift",
        "UI/SquareBackground.swift",
        "UI/SquareMoveHighlight.swift",
        "UI/SquareSelected.swift",
        "UI/SquareTargeted.swift",
        "UI/UI.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Sources/Chess/PlayChess': File not found.
Done.