Build Information
Successful build of ViewState, reference 2.0.1 (8d07d9
), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 11:02:48 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/heroesofcode/ViewState.git
Reference: 2.0.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/heroesofcode/ViewState
* tag 2.0.1 -> FETCH_HEAD
HEAD is now at 8d07d9f Bump version to 2.0.1
Cloned https://github.com/heroesofcode/ViewState.git
Revision (git rev-parse @):
8d07d9fc74b8840c62dc8a2a1a64c7c878374890
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/heroesofcode/ViewState.git at 2.0.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "viewstate",
"name": "ViewState",
"url": "https://github.com/heroesofcode/ViewState.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ViewState",
"dependencies": [
]
}
]
}
Fetching https://github.com/heroesofcode/ViewState.git
[1/1924] Fetching viewstate
Fetched https://github.com/heroesofcode/ViewState.git from cache (0.96s)
Creating working copy for https://github.com/heroesofcode/ViewState.git
Working copy of https://github.com/heroesofcode/ViewState.git resolved at 2.0.1 (8d07d9f)
warning: '.resolve-product-dependencies': dependency 'viewstate' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/heroesofcode/ViewState.git
https://github.com/heroesofcode/ViewState.git
{
"dependencies" : [
],
"manifest_display_name" : "ViewState",
"name" : "ViewState",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "12.0"
},
{
"name" : "watchos",
"version" : "4.0"
}
],
"products" : [
{
"name" : "ViewState",
"targets" : [
"ViewState"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ViewStateTests",
"module_type" : "SwiftTarget",
"name" : "ViewStateTests",
"path" : "Tests/ViewStateTests",
"sources" : [
"Doubles/ViewStateSpy.swift",
"ObservableTests.swift",
"ViewModel.swift",
"ViewStateTests.swift"
],
"target_dependencies" : [
"ViewState"
],
"type" : "test"
},
{
"c99name" : "ViewState",
"module_type" : "SwiftTarget",
"name" : "ViewState",
"path" : "Sources/ViewState",
"product_memberships" : [
"ViewState"
],
"sources" : [
"Observable.swift",
"ObserverProtocol.swift",
"ViewState.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/6] Emitting module ViewState
[4/6] Compiling ViewState Observable.swift
[5/6] Compiling ViewState ObserverProtocol.swift
[6/6] Compiling ViewState ViewState.swift
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:27:51: warning: variable 'self' was written to, but never read
25 | @discardableResult
26 | public func successObserver(_ success: @escaping (T) -> Void) -> ViewState {
27 | successBehavior.addObserver(self) { [weak self] data in
| `- warning: variable 'self' was written to, but never read
28 | guard let data else { return }
29 | DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:40:51: warning: variable 'self' was written to, but never read
38 | @discardableResult
39 | public func loadingObserver(_ loading: @escaping () -> Void) -> ViewState {
40 | loadingBehavior.addObserver(self) { [weak self] _ in
| `- warning: variable 'self' was written to, but never read
41 | DispatchQueue.main.async {
42 | loading()
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:52:49: warning: variable 'self' was written to, but never read
50 | @discardableResult
51 | public func errorObserver(_ error: @escaping (E) -> Void) -> ViewState {
52 | errorBehavior.addObserver(self) { [weak self] errorMessage in
| `- warning: variable 'self' was written to, but never read
53 | guard let errorMessage else { return }
54 | DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:69:13: warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a '@Sendable' closure
1 | import Foundation
2 |
3 | public class ViewState<T, E>: ObserverProtocol {
| `- note: generic class 'ViewState' does not conform to the 'Sendable' protocol
4 |
5 | var id: Int = 123
:
67 | private func postRequest() {
68 | stateQueue.async(flags: .barrier) {
69 | self.verifyCanMakeRequest.value = Any.self
| `- warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a '@Sendable' closure
70 | }
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:84:13: warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a '@Sendable' closure
1 | import Foundation
2 |
3 | public class ViewState<T, E>: ObserverProtocol {
| `- note: generic class 'ViewState' does not conform to the 'Sendable' protocol
4 |
5 | var id: Int = 123
:
82 | private func loading() {
83 | stateQueue.async(flags: .barrier) {
84 | self.loadingBehavior.value = {}
| `- warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a '@Sendable' closure
85 | }
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:90:13: warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a '@Sendable' closure
1 | import Foundation
2 |
3 | public class ViewState<T, E>: ObserverProtocol {
| `- note: generic class 'ViewState' does not conform to the 'Sendable' protocol
4 |
5 | var id: Int = 123
:
88 | public func success(data: T) {
89 | stateQueue.async(flags: .barrier) {
90 | self.clearErrors()
| `- warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a '@Sendable' closure
91 | self.successBehavior.value = data
92 | }
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:91:42: warning: capture of 'data' with non-sendable type 'T' in a '@Sendable' closure
1 | import Foundation
2 |
3 | public class ViewState<T, E>: ObserverProtocol {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
4 |
5 | var id: Int = 123
:
89 | stateQueue.async(flags: .barrier) {
90 | self.clearErrors()
91 | self.successBehavior.value = data
| `- warning: capture of 'data' with non-sendable type 'T' in a '@Sendable' closure
92 | }
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:97:13: warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a '@Sendable' closure
1 | import Foundation
2 |
3 | public class ViewState<T, E>: ObserverProtocol {
| `- note: generic class 'ViewState' does not conform to the 'Sendable' protocol
4 |
5 | var id: Int = 123
:
95 | public func error(error: E) {
96 | stateQueue.async(flags: .barrier) {
97 | self.clearSuccess()
| `- warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a '@Sendable' closure
98 | self.errorBehavior.value = error
99 | }
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:98:40: warning: capture of 'error' with non-sendable type 'E' in a '@Sendable' closure
1 | import Foundation
2 |
3 | public class ViewState<T, E>: ObserverProtocol {
| `- note: consider making generic parameter 'E' conform to the 'Sendable' protocol
4 |
5 | var id: Int = 123
:
96 | stateQueue.async(flags: .barrier) {
97 | self.clearSuccess()
98 | self.errorBehavior.value = error
| `- warning: capture of 'error' with non-sendable type 'E' in a '@Sendable' closure
99 | }
100 | }
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:30:17: warning: sending 'success' risks causing data races; this is an error in the Swift 6 language mode
28 | guard let data else { return }
29 | DispatchQueue.main.async {
30 | success(data)
| |- warning: sending 'success' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'success' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
31 | }
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:30:25: warning: sending 'data' risks causing data races; this is an error in the Swift 6 language mode
28 | guard let data else { return }
29 | DispatchQueue.main.async {
30 | success(data)
| |- warning: sending 'data' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'data' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
31 | }
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:42:17: warning: sending 'loading' risks causing data races; this is an error in the Swift 6 language mode
40 | loadingBehavior.addObserver(self) { [weak self] _ in
41 | DispatchQueue.main.async {
42 | loading()
| |- warning: sending 'loading' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'loading' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:55:17: warning: sending 'error' risks causing data races; this is an error in the Swift 6 language mode
53 | guard let errorMessage else { return }
54 | DispatchQueue.main.async {
55 | error(errorMessage)
| |- warning: sending 'error' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'error' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
56 | }
57 | }
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:55:23: warning: sending 'errorMessage' risks causing data races; this is an error in the Swift 6 language mode
53 | guard let errorMessage else { return }
54 | DispatchQueue.main.async {
55 | error(errorMessage)
| |- warning: sending 'errorMessage' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'errorMessage' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
56 | }
57 | }
Build complete! (4.67s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "ViewState",
"name" : "ViewState",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "12.0"
},
{
"name" : "watchos",
"version" : "4.0"
}
],
"products" : [
{
"name" : "ViewState",
"targets" : [
"ViewState"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ViewStateTests",
"module_type" : "SwiftTarget",
"name" : "ViewStateTests",
"path" : "Tests/ViewStateTests",
"sources" : [
"Doubles/ViewStateSpy.swift",
"ObservableTests.swift",
"ViewModel.swift",
"ViewStateTests.swift"
],
"target_dependencies" : [
"ViewState"
],
"type" : "test"
},
{
"c99name" : "ViewState",
"module_type" : "SwiftTarget",
"name" : "ViewState",
"path" : "Sources/ViewState",
"product_memberships" : [
"ViewState"
],
"sources" : [
"Observable.swift",
"ObserverProtocol.swift",
"ViewState.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/heroesofcode/viewstate/2.0.1
Repository: heroesofcode/ViewState
Swift version used: 6.1
Target: ViewState
Extracting symbol information for 'ViewState'...
Finished extracting symbol information for 'ViewState'. (2.53s)
Building documentation for 'ViewState'...
Finished building documentation for 'ViewState' (0.10s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/heroesofcode/viewstate/2.0.1
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.45s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (1.10s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.86s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.47s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
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
Building for debugging...
[0/8] Write sources
[1/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/53] Compiling Snippets Snippet.swift
[7/53] Compiling Snippets SnippetParser.swift
[8/53] Emitting module SymbolKit
[9/57] Emitting module Snippets
[10/57] Compiling SymbolKit Relationship.swift
[11/57] Compiling SymbolKit RelationshipKind.swift
[12/57] Compiling SymbolKit SourceOrigin.swift
[13/57] Compiling SymbolKit GenericConstraints.swift
[14/57] Compiling SymbolKit Swift.swift
[15/57] Compiling SymbolKit SemanticVersion.swift
[16/57] Compiling SymbolKit AccessControl.swift
[17/57] Compiling SymbolKit Availability.swift
[18/57] Compiling SymbolKit AvailabilityItem.swift
[19/57] Compiling SymbolKit Domain.swift
[20/57] Compiling SymbolKit GenericConstraint.swift
[21/57] Compiling SymbolKit GenericParameter.swift
[22/57] Compiling SymbolKit Generics.swift
[23/57] Compiling SymbolKit Namespace.swift
[24/57] Compiling SymbolKit Identifier.swift
[25/57] Compiling SymbolKit KindIdentifier.swift
[26/57] Compiling SymbolKit Location.swift
[27/57] Compiling SymbolKit Mutability.swift
[28/57] Compiling SymbolKit Names.swift
[29/57] Compiling SymbolKit SPI.swift
[30/57] Compiling SymbolKit Snippet.swift
[31/57] Compiling SymbolKit Extension.swift
[32/57] Compiling SymbolKit Symbol.swift
[33/57] Compiling SymbolKit SymbolKind.swift
[34/57] Compiling SymbolKit SymbolGraph.swift
[35/57] Compiling SymbolKit GraphCollector.swift
[36/57] Compiling SymbolKit SourceRange.swift
[37/57] Compiling SymbolKit Metadata.swift
[38/57] Compiling SymbolKit Module.swift
[39/57] Compiling SymbolKit OperatingSystem.swift
[40/57] Compiling SymbolKit Platform.swift
[41/57] Compiling SymbolKit Mixin+Equals.swift
[42/57] Compiling SymbolKit Mixin+Hash.swift
[43/57] Compiling SymbolKit Mixin.swift
[44/57] Compiling SymbolKit LineList.swift
[45/57] Compiling SymbolKit Position.swift
[46/57] Compiling SymbolKit DeclarationFragments.swift
[47/57] Compiling SymbolKit Fragment.swift
[48/57] Compiling SymbolKit FragmentKind.swift
[49/57] Compiling SymbolKit FunctionParameter.swift
[50/57] Compiling SymbolKit FunctionSignature.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Emitting module snippet_extract
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.16s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/5] Compiling ViewState Observable.swift
[3/5] Compiling ViewState ObserverProtocol.swift
[4/5] Emitting module ViewState
[5/5] Compiling ViewState ViewState.swift
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:27:51: warning: variable 'self' was written to, but never read
25 | @discardableResult
26 | public func successObserver(_ success: @escaping (T) -> Void) -> ViewState {
27 | successBehavior.addObserver(self) { [weak self] data in
| `- warning: variable 'self' was written to, but never read
28 | guard let data else { return }
29 | DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:40:51: warning: variable 'self' was written to, but never read
38 | @discardableResult
39 | public func loadingObserver(_ loading: @escaping () -> Void) -> ViewState {
40 | loadingBehavior.addObserver(self) { [weak self] _ in
| `- warning: variable 'self' was written to, but never read
41 | DispatchQueue.main.async {
42 | loading()
/Users/admin/builder/spi-builder-workspace/Sources/ViewState/ViewState.swift:52:49: warning: variable 'self' was written to, but never read
50 | @discardableResult
51 | public func errorObserver(_ error: @escaping (E) -> Void) -> ViewState {
52 | errorBehavior.addObserver(self) { [weak self] errorMessage in
| `- warning: variable 'self' was written to, but never read
53 | guard let errorMessage else { return }
54 | DispatchQueue.main.async {
Build of target: 'ViewState' complete! (0.55s)
70
2 /Users/admin/builder/spi-builder-workspace/.docs/heroesofcode/viewstate/2.0.1
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/heroesofcode/viewstate/2.0.1
File count: 70
Doc size: 2.0MB
Preparing doc bundle ...
Uploading prod-heroesofcode-viewstate-2.0.1-dff2ec35.zip to s3://spi-docs-inbox/prod-heroesofcode-viewstate-2.0.1-dff2ec35.zip
Copying... [20%]
Copying... [39%]
Copying... [59%]
Copying... [78%]
Copying... [98%]
Copying... [100%]
Done.