Build Information
Successful build of SwiftUIKit, reference 2.0.2 (539a2f), with Swift 6.2 for macOS (SPM) on 24 Jun 2025 01:12:05 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Appracatappra/SwiftUIKit.git
Reference: 2.0.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Appracatappra/SwiftUIKit
* tag 2.0.2 -> FETCH_HEAD
HEAD is now at 539a2f7 Update to v6.1
Cloned https://github.com/Appracatappra/SwiftUIKit.git
Revision (git rev-parse @):
539a2f78c88e85645a8ac1f2d086f1631613c9bd
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/Appracatappra/SwiftUIKit.git at 2.0.2
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/Appracatappra/SwiftUIKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/11] Write sources
[2/11] Copying PrivacyInfo.xcprivacy
[3/11] Write sources
[5/11] Copying diamond-click.mp3
[5/11] Copying PrivacyInfo.xcprivacy
[7/11] Copying mouse-click.mp3
[7/11] Copying PrivacyInfo.xcprivacy
[10/11] Write swift-version-1EA4D86E10B52AF.txt
[12/15] Compiling LogManager resource_bundle_accessor.swift
[13/15] Compiling LogManager DebugLogger.swift
[14/15] Emitting module LogManager
[15/15] Compiling LogManager ReleaseLogger.swift
[16/43] Emitting module SwiftletUtilities
[17/45] Compiling SwiftletUtilities HTMLEntity.swift
[18/45] Compiling SwiftletUtilities NetworkConnection.swift
[19/45] Compiling SwiftletUtilities ObfuscationProvider.swift
[20/45] Compiling SwiftletUtilities macOS StringExtensions.swift
[21/45] Compiling SwiftletUtilities resource_bundle_accessor.swift
[22/45] Compiling SoundManager SoundManager.swift
[23/45] Compiling SoundManager resource_bundle_accessor.swift
[24/45] Emitting module SoundManager
[25/45] Compiling SwiftletUtilities StringExtensions.swift
[26/45] Compiling SwiftletUtilities TitleCase.swift
[27/45] Compiling SwiftletUtilities ViewExtensions.swift
[28/45] Compiling SwiftletUtilities UIApplicationExtensions.swift
[29/45] Compiling SwiftletUtilities ViewDeviceRotation.swift
[30/45] Compiling SwiftletUtilities iOS DataExtensions.swift
[31/45] Compiling SwiftletUtilities iOS ViewExtensions.swift
[32/45] Compiling SwiftletUtilities UIDeviceOrientation.swift
[33/45] Compiling SwiftletUtilities ArrayExtensions.swift
[34/45] Compiling SwiftletUtilities ColorExtentions.swift
[35/45] Compiling SwiftletUtilities DoubleExtensions.swift
[36/45] Compiling SwiftletUtilities ImageExtensions.swift
[37/45] Compiling SwiftletUtilities IntegerExtensions.swift
[38/45] Compiling SwiftletUtilities PublishedExtensions.swift
[39/45] Compiling SwiftletUtilities iOS ImageExtensions.swift
[40/45] Compiling SwiftletUtilities iOS StringExtensions.swift
[41/45] Compiling SwiftletUtilities AppleHardwareType.swift
[42/45] Compiling SwiftletUtilities HardwareInformation.swift
[43/45] Compiling SwiftletUtilities Execute.swift
[44/45] Compiling SwiftletUtilities macOS DataExtensions.swift
[45/45] Compiling SwiftletUtilities macOS ImageExtensions.swift
[46/65] Compiling SwiftUIKit WordArtButton.swift
[47/65] Compiling SwiftUIKit WordArtView.swift
[48/67] Compiling SwiftUIKit ScaleableWaitingIndicator.swift
[49/67] Compiling SwiftUIKit ScaledImageButton.swift
[50/67] Compiling SwiftUIKit ZoomView.swift
[51/67] Compiling SwiftUIKit ImageExtensions.swift
[52/67] Compiling SwiftUIKit IconDescriptionButton.swift
[53/67] Compiling SwiftUIKit OnOffToggleButton.swift
[54/67] Compiling SwiftUIKit TextExtensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIKit/Properties/MutableValue.swift:45:20: warning: capture of 'self' with non-sendable type 'MutableValue<T>' in a '@Sendable' closure [#SendableClosureCaptures]
19 |
20 | /// Creates a property that can be mutated in a SwiftUI view without kicking off a state change.
21 | @propertyWrapper public struct MutableValue<T> {
| `- note: consider making generic struct 'MutableValue' conform to the 'Sendable' protocol
22 | /// Provides storage for the mutating value
23 | private let storage:ValueStorage = ValueStorage<T>()
:
43 | public var projectedValue: Binding<T> {
44 | Binding(
45 | get: { wrappedValue },
| `- warning: capture of 'self' with non-sendable type 'MutableValue<T>' in a '@Sendable' closure [#SendableClosureCaptures]
46 | set: { wrappedValue = $0 }
47 | )
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIKit/Properties/MutableValue.swift:46:20: warning: capture of 'self' with non-sendable type 'MutableValue<T>' in a '@Sendable' closure [#SendableClosureCaptures]
19 |
20 | /// Creates a property that can be mutated in a SwiftUI view without kicking off a state change.
21 | @propertyWrapper public struct MutableValue<T> {
| `- note: consider making generic struct 'MutableValue' conform to the 'Sendable' protocol
22 | /// Provides storage for the mutating value
23 | private let storage:ValueStorage = ValueStorage<T>()
:
44 | Binding(
45 | get: { wrappedValue },
46 | set: { wrappedValue = $0 }
| `- warning: capture of 'self' with non-sendable type 'MutableValue<T>' in a '@Sendable' closure [#SendableClosureCaptures]
47 | )
48 | }
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[55/67] Compiling SwiftUIKit MutableValue.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIKit/Properties/MutableValue.swift:45:20: warning: capture of 'self' with non-sendable type 'MutableValue<T>' in a '@Sendable' closure [#SendableClosureCaptures]
19 |
20 | /// Creates a property that can be mutated in a SwiftUI view without kicking off a state change.
21 | @propertyWrapper public struct MutableValue<T> {
| `- note: consider making generic struct 'MutableValue' conform to the 'Sendable' protocol
22 | /// Provides storage for the mutating value
23 | private let storage:ValueStorage = ValueStorage<T>()
:
43 | public var projectedValue: Binding<T> {
44 | Binding(
45 | get: { wrappedValue },
| `- warning: capture of 'self' with non-sendable type 'MutableValue<T>' in a '@Sendable' closure [#SendableClosureCaptures]
46 | set: { wrappedValue = $0 }
47 | )
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIKit/Properties/MutableValue.swift:46:20: warning: capture of 'self' with non-sendable type 'MutableValue<T>' in a '@Sendable' closure [#SendableClosureCaptures]
19 |
20 | /// Creates a property that can be mutated in a SwiftUI view without kicking off a state change.
21 | @propertyWrapper public struct MutableValue<T> {
| `- note: consider making generic struct 'MutableValue' conform to the 'Sendable' protocol
22 | /// Provides storage for the mutating value
23 | private let storage:ValueStorage = ValueStorage<T>()
:
44 | Binding(
45 | get: { wrappedValue },
46 | set: { wrappedValue = $0 }
| `- warning: capture of 'self' with non-sendable type 'MutableValue<T>' in a '@Sendable' closure [#SendableClosureCaptures]
47 | )
48 | }
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[56/67] Compiling SwiftUIKit ScaledImageView.swift
[57/67] Compiling SwiftUIKit SelectIntOptionsButton.swift
[58/67] Compiling SwiftUIKit SwiftUIKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIKit/Utilities/SwiftUITimer.swift:42:29: warning: capture of 'self' with non-sendable type 'SwiftUITimer' in a '@Sendable' closure [#SendableClosureCaptures]
11 |
12 | /// A swift UI specific timer that can execute a tick method after a given amount of time.
13 | open class SwiftUITimer {
| `- note: class 'SwiftUITimer' does not conform to the 'Sendable' protocol
14 | // MARK: - Events
15 | /// Handle a give tick expiring.
:
40 | public func start() {
41 | timer = Timer.scheduledTimer(withTimeInterval: interval, repeats: true) {timer in
42 | if let onTick = self.onTick {
| `- warning: capture of 'self' with non-sendable type 'SwiftUITimer' in a '@Sendable' closure [#SendableClosureCaptures]
43 | Execute.onMain {
44 | onTick()
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[59/67] Compiling SwiftUIKit SwiftUITimer.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIKit/Utilities/SwiftUITimer.swift:42:29: warning: capture of 'self' with non-sendable type 'SwiftUITimer' in a '@Sendable' closure [#SendableClosureCaptures]
11 |
12 | /// A swift UI specific timer that can execute a tick method after a given amount of time.
13 | open class SwiftUITimer {
| `- note: class 'SwiftUITimer' does not conform to the 'Sendable' protocol
14 | // MARK: - Events
15 | /// Handle a give tick expiring.
:
40 | public func start() {
41 | timer = Timer.scheduledTimer(withTimeInterval: interval, repeats: true) {timer in
42 | if let onTick = self.onTick {
| `- warning: capture of 'self' with non-sendable type 'SwiftUITimer' in a '@Sendable' closure [#SendableClosureCaptures]
43 | Execute.onMain {
44 | onTick()
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[60/67] Compiling SwiftUIKit ContentButton.swift
[61/67] Compiling SwiftUIKit IconButton.swift
[62/67] Emitting module SwiftUIKit
[63/67] Compiling SwiftUIKit AlertState.swift
[64/67] Compiling SwiftUIKit AlertTypes.swift
[65/67] Compiling SwiftUIKit CircleText.swift
[66/67] Compiling SwiftUIKit TouchLocatingView.swift
[67/67] Compiling SwiftUIKit resource_bundle_accessor.swift
Build complete! (15.41s)
Fetching https://github.com/Appracatappra/SwiftletUtilities
Fetching https://github.com/Appracatappra/LogManager
Fetching https://github.com/Appracatappra/SoundManager
[1/512] Fetching swiftletutilities
[227/592] Fetching swiftletutilities, soundmanager
[307/676] Fetching swiftletutilities, soundmanager, logmanager
Fetched https://github.com/Appracatappra/SwiftletUtilities from cache (0.90s)
Fetched https://github.com/Appracatappra/LogManager from cache (0.90s)
Fetched https://github.com/Appracatappra/SoundManager from cache (0.90s)
Computing version for https://github.com/Appracatappra/SoundManager
Computed https://github.com/Appracatappra/SoundManager at 2.0.3 (1.34s)
Computing version for https://github.com/Appracatappra/LogManager
Computed https://github.com/Appracatappra/LogManager at 2.0.4 (0.41s)
Computing version for https://github.com/Appracatappra/SwiftletUtilities
Computed https://github.com/Appracatappra/SwiftletUtilities at 2.0.6 (0.41s)
Creating working copy for https://github.com/Appracatappra/LogManager
Working copy of https://github.com/Appracatappra/LogManager resolved at 2.0.4
Creating working copy for https://github.com/Appracatappra/SoundManager
Working copy of https://github.com/Appracatappra/SoundManager resolved at 2.0.3
Creating working copy for https://github.com/Appracatappra/SwiftletUtilities
Working copy of https://github.com/Appracatappra/SwiftletUtilities resolved at 2.0.6
Build complete.
{
"dependencies" : [
{
"identity" : "logmanager",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Appracatappra/LogManager"
},
{
"identity" : "swiftletutilities",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Appracatappra/SwiftletUtilities"
},
{
"identity" : "soundmanager",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Appracatappra/SoundManager"
}
],
"manifest_display_name" : "SwiftUIKit",
"name" : "SwiftUIKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "18.0"
},
{
"name" : "macos",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "18.0"
},
{
"name" : "watchos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "SwiftUIKit",
"targets" : [
"SwiftUIKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftUIKitTests",
"module_type" : "SwiftTarget",
"name" : "SwiftUIKitTests",
"path" : "Tests/SwiftUIKitTests",
"sources" : [
"SwiftUIKitTests.swift"
],
"target_dependencies" : [
"SwiftUIKit"
],
"type" : "test"
},
{
"c99name" : "SwiftUIKit",
"module_type" : "SwiftTarget",
"name" : "SwiftUIKit",
"path" : "Sources/SwiftUIKit",
"product_dependencies" : [
"LogManager",
"SwiftletUtilities",
"SoundManager"
],
"product_memberships" : [
"SwiftUIKit"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIKit/Resources/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIKit/Resources/diamond-click.mp3",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftUIKit/Resources/mouse-click.mp3",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Alerts/AlertState.swift",
"Alerts/AlertTypes.swift",
"Components/CircleText.swift",
"Components/ContentButton.swift",
"Components/IconButton.swift",
"Components/IconDescriptionButton.swift",
"Components/OnOffToggleButton.swift",
"Components/ScaleableWaitingIndicator.swift",
"Components/ScaledImageButton.swift",
"Components/ScaledImageView.swift",
"Components/SelectIntOptionsButton.swift",
"Components/WordArtButton.swift",
"Components/WordArtView.swift",
"Components/ZoomView.swift",
"Extensions/ImageExtensions.swift",
"Extensions/TextExtensions.swift",
"Properties/MutableValue.swift",
"SwiftUIKit.swift",
"Utilities/SwiftUITimer.swift",
"Views/TouchLocatingView.swift"
],
"type" : "library"
}
],
"tools_version" : "6.1"
}
Done.