Build Information
Successful build of CohesionKit, reference 0.17.0 (7e9630
), with Swift 6.0 for macOS (SPM) on 14 Mar 2025 09:27:42 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.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.60.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/pjechris/CohesionKit.git
Reference: 0.17.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/pjechris/CohesionKit
* tag 0.17.0 -> FETCH_HEAD
HEAD is now at 7e96304 tech(Observable) Remove observable object (#74)
Cloned https://github.com/pjechris/CohesionKit.git
Revision (git rev-parse @):
7e963048dc8be9b2848df748af27843caaffef05
SUCCESS checkout https://github.com/pjechris/CohesionKit.git at 0.17.0
========================================
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": "cohesionkit",
"name": "CohesionKit",
"url": "https://github.com/pjechris/CohesionKit.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CohesionKit",
"dependencies": [
]
}
]
}
Fetching https://github.com/pjechris/CohesionKit.git
[1/2679] Fetching cohesionkit
Fetched https://github.com/pjechris/CohesionKit.git from cache (1.10s)
Creating working copy for https://github.com/pjechris/CohesionKit.git
Working copy of https://github.com/pjechris/CohesionKit.git resolved at 0.17.0 (7e96304)
warning: '.resolve-product-dependencies': dependency 'cohesionkit' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/pjechris/CohesionKit.git
https://github.com/pjechris/CohesionKit.git
{
"dependencies" : [
],
"manifest_display_name" : "CohesionKit",
"name" : "CohesionKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "ios",
"version" : "14.0"
}
],
"products" : [
{
"name" : "CohesionKit",
"targets" : [
"CohesionKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CohesionKitTests",
"module_type" : "SwiftTarget",
"name" : "CohesionKitTests",
"path" : "Tests/CohesionKitTests",
"sources" : [
"Combine/EntityObserverTests+Publisher.swift",
"EntityStoreTests.swift",
"KeyPath/PartialIdentifiableKeyPathTests.swift",
"LoggerMock.swift",
"Observer/ObserverRegistryTests.swift",
"Observer/Stub/ObserverRegistryStub.swift",
"RootFixture.swift",
"Storage/AliasContainerTests.swift",
"Storage/AliasStorageTests.swift",
"Storage/EntitiesStorageTests.swift",
"Storage/EntityNodeTests.swift",
"Visitor/EntityStoreVisitorTests.swift"
],
"target_dependencies" : [
"CohesionKit"
],
"type" : "test"
},
{
"c99name" : "CohesionKit",
"module_type" : "SwiftTarget",
"name" : "CohesionKit",
"path" : "Sources/CohesionKit",
"product_memberships" : [
"CohesionKit"
],
"sources" : [
"AliasKey.swift",
"Combine/EntityObserver+Publisher.swift",
"Combine/Publisher+CohesionKit.swift",
"Entity/Aggregate.swift",
"Entity/EntityWrapper.swift",
"EntityStore.swift",
"KeyPath/PartialIdentifiableKeyPath.swift",
"Logger.swift",
"Observer/EntityObserver.swift",
"Observer/ObserverRegistry.swift",
"Observer/Subscription.swift",
"Stamp/Date+Stamp.swift",
"Stamp/StampError.swift",
"Storage/AliasContainer.swift",
"Storage/AliasStorage.swift",
"Storage/EntitiesStorage.swift",
"Storage/EntityNode.swift",
"Visitor/EntityContext.swift",
"Visitor/EntityStoreVisitor.swift",
"Visitor/NestedEntitiesVisitor.swift",
"Weak.swift"
],
"type" : "library"
}
],
"tools_version" : "5.3"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.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-5BDAB9E9C0126B9D.txt
[3/22] Emitting module CohesionKit
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Entity/EntityWrapper.swift:1:2: warning: unknown platform 'unavailable' for attribute 'available'
1 | @available(unavailable, renamed: "EntityWrapper")
| `- warning: unknown platform 'unavailable' for attribute 'available'
2 | public typealias EntityEnumWrapper = EntityWrapper
3 |
[4/24] Compiling CohesionKit NestedEntitiesVisitor.swift
[5/24] Compiling CohesionKit Weak.swift
[6/24] Compiling CohesionKit AliasKey.swift
[7/24] Compiling CohesionKit EntityObserver+Publisher.swift
[8/24] Compiling CohesionKit Publisher+CohesionKit.swift
[9/24] Compiling CohesionKit Logger.swift
[10/24] Compiling CohesionKit EntityObserver.swift
[11/24] Compiling CohesionKit EntityStore.swift
[12/24] Compiling CohesionKit PartialIdentifiableKeyPath.swift
[13/24] Compiling CohesionKit Date+Stamp.swift
[14/24] Compiling CohesionKit StampError.swift
[15/24] Compiling CohesionKit EntityContext.swift
[16/24] Compiling CohesionKit EntityStoreVisitor.swift
[17/24] Compiling CohesionKit EntitiesStorage.swift
[18/24] Compiling CohesionKit EntityNode.swift
[19/24] Compiling CohesionKit Aggregate.swift
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Entity/EntityWrapper.swift:1:2: warning: unknown platform 'unavailable' for attribute 'available'
1 | @available(unavailable, renamed: "EntityWrapper")
| `- warning: unknown platform 'unavailable' for attribute 'available'
2 | public typealias EntityEnumWrapper = EntityWrapper
3 |
[20/24] Compiling CohesionKit EntityWrapper.swift
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Entity/EntityWrapper.swift:1:2: warning: unknown platform 'unavailable' for attribute 'available'
1 | @available(unavailable, renamed: "EntityWrapper")
| `- warning: unknown platform 'unavailable' for attribute 'available'
2 | public typealias EntityEnumWrapper = EntityWrapper
3 |
[21/24] Compiling CohesionKit AliasContainer.swift
[22/24] Compiling CohesionKit AliasStorage.swift
[23/24] Compiling CohesionKit ObserverRegistry.swift
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Observer/ObserverRegistry.swift:107:40: warning: capture of 'changes' with non-sendable type '[ObjectKey : any AnyWeak]' (aka 'Dictionary<Int, any AnyWeak>') in a `@Sendable` closure
105 |
106 | queue.async {
107 | for (hashKey, weakNode) in changes {
| `- warning: capture of 'changes' with non-sendable type '[ObjectKey : any AnyWeak]' (aka 'Dictionary<Int, any AnyWeak>') in a `@Sendable` closure
108 | // node was released: no one to notify
109 | guard let node = weakNode.unwrap() else {
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Weak.swift:3:10: note: protocol 'AnyWeak' does not conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | protocol AnyWeak: AnyObject {
| `- note: protocol 'AnyWeak' does not conform to the 'Sendable' protocol
4 | func unwrap() -> Any?
5 | }
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Observer/ObserverRegistry.swift:113:32: warning: capture of 'handlers' with non-sendable type '[ObjectKey : Set<ObserverRegistry.Handler>]' (aka 'Dictionary<Int, Set<ObserverRegistry.Handler>>') in a `@Sendable` closure
111 | }
112 |
113 | for handler in handlers[hashKey] ?? [] {
| `- warning: capture of 'handlers' with non-sendable type '[ObjectKey : Set<ObserverRegistry.Handler>]' (aka 'Dictionary<Int, Set<ObserverRegistry.Handler>>') in a `@Sendable` closure
114 | // if some handlers are used multiple times (like for collections), make sure we don't notify them multiple times
115 | guard !executedHandlers.contains(handler) else {
:
138 | extension ObserverRegistry {
139 | /// Handle observation for a given node
140 | class Handler: Hashable {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
141 | let executor: (Any) -> Void
142 |
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Observer/ObserverRegistry.swift:115:28: warning: capture of 'executedHandlers' with non-sendable type 'Set<ObserverRegistry.Handler>' in a `@Sendable` closure
113 | for handler in handlers[hashKey] ?? [] {
114 | // if some handlers are used multiple times (like for collections), make sure we don't notify them multiple times
115 | guard !executedHandlers.contains(handler) else {
| `- warning: capture of 'executedHandlers' with non-sendable type 'Set<ObserverRegistry.Handler>' in a `@Sendable` closure
116 | continue
117 | }
:
138 | extension ObserverRegistry {
139 | /// Handle observation for a given node
140 | class Handler: Hashable {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
141 | let executor: (Any) -> Void
142 |
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Observer/ObserverRegistry.swift:115:28: warning: reference to captured var 'executedHandlers' in concurrently-executing code
113 | for handler in handlers[hashKey] ?? [] {
114 | // if some handlers are used multiple times (like for collections), make sure we don't notify them multiple times
115 | guard !executedHandlers.contains(handler) else {
| `- warning: reference to captured var 'executedHandlers' in concurrently-executing code
116 | continue
117 | }
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Observer/ObserverRegistry.swift:120:21: warning: mutation of captured var 'executedHandlers' in concurrently-executing code
118 |
119 | handler(node)
120 | executedHandlers.insert(handler)
| `- warning: mutation of captured var 'executedHandlers' in concurrently-executing code
121 | }
122 | }
[24/24] Compiling CohesionKit Subscription.swift
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Observer/ObserverRegistry.swift:107:40: warning: capture of 'changes' with non-sendable type '[ObjectKey : any AnyWeak]' (aka 'Dictionary<Int, any AnyWeak>') in a `@Sendable` closure
105 |
106 | queue.async {
107 | for (hashKey, weakNode) in changes {
| `- warning: capture of 'changes' with non-sendable type '[ObjectKey : any AnyWeak]' (aka 'Dictionary<Int, any AnyWeak>') in a `@Sendable` closure
108 | // node was released: no one to notify
109 | guard let node = weakNode.unwrap() else {
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Weak.swift:3:10: note: protocol 'AnyWeak' does not conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | protocol AnyWeak: AnyObject {
| `- note: protocol 'AnyWeak' does not conform to the 'Sendable' protocol
4 | func unwrap() -> Any?
5 | }
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Observer/ObserverRegistry.swift:113:32: warning: capture of 'handlers' with non-sendable type '[ObjectKey : Set<ObserverRegistry.Handler>]' (aka 'Dictionary<Int, Set<ObserverRegistry.Handler>>') in a `@Sendable` closure
111 | }
112 |
113 | for handler in handlers[hashKey] ?? [] {
| `- warning: capture of 'handlers' with non-sendable type '[ObjectKey : Set<ObserverRegistry.Handler>]' (aka 'Dictionary<Int, Set<ObserverRegistry.Handler>>') in a `@Sendable` closure
114 | // if some handlers are used multiple times (like for collections), make sure we don't notify them multiple times
115 | guard !executedHandlers.contains(handler) else {
:
138 | extension ObserverRegistry {
139 | /// Handle observation for a given node
140 | class Handler: Hashable {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
141 | let executor: (Any) -> Void
142 |
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Observer/ObserverRegistry.swift:115:28: warning: capture of 'executedHandlers' with non-sendable type 'Set<ObserverRegistry.Handler>' in a `@Sendable` closure
113 | for handler in handlers[hashKey] ?? [] {
114 | // if some handlers are used multiple times (like for collections), make sure we don't notify them multiple times
115 | guard !executedHandlers.contains(handler) else {
| `- warning: capture of 'executedHandlers' with non-sendable type 'Set<ObserverRegistry.Handler>' in a `@Sendable` closure
116 | continue
117 | }
:
138 | extension ObserverRegistry {
139 | /// Handle observation for a given node
140 | class Handler: Hashable {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
141 | let executor: (Any) -> Void
142 |
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Observer/ObserverRegistry.swift:115:28: warning: reference to captured var 'executedHandlers' in concurrently-executing code
113 | for handler in handlers[hashKey] ?? [] {
114 | // if some handlers are used multiple times (like for collections), make sure we don't notify them multiple times
115 | guard !executedHandlers.contains(handler) else {
| `- warning: reference to captured var 'executedHandlers' in concurrently-executing code
116 | continue
117 | }
/Users/admin/builder/spi-builder-workspace/Sources/CohesionKit/Observer/ObserverRegistry.swift:120:21: warning: mutation of captured var 'executedHandlers' in concurrently-executing code
118 |
119 | handler(node)
120 | executedHandlers.insert(handler)
| `- warning: mutation of captured var 'executedHandlers' in concurrently-executing code
121 | }
122 | }
Build complete! (13.05s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "CohesionKit",
"name" : "CohesionKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "ios",
"version" : "14.0"
}
],
"products" : [
{
"name" : "CohesionKit",
"targets" : [
"CohesionKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CohesionKitTests",
"module_type" : "SwiftTarget",
"name" : "CohesionKitTests",
"path" : "Tests/CohesionKitTests",
"sources" : [
"Combine/EntityObserverTests+Publisher.swift",
"EntityStoreTests.swift",
"KeyPath/PartialIdentifiableKeyPathTests.swift",
"LoggerMock.swift",
"Observer/ObserverRegistryTests.swift",
"Observer/Stub/ObserverRegistryStub.swift",
"RootFixture.swift",
"Storage/AliasContainerTests.swift",
"Storage/AliasStorageTests.swift",
"Storage/EntitiesStorageTests.swift",
"Storage/EntityNodeTests.swift",
"Visitor/EntityStoreVisitorTests.swift"
],
"target_dependencies" : [
"CohesionKit"
],
"type" : "test"
},
{
"c99name" : "CohesionKit",
"module_type" : "SwiftTarget",
"name" : "CohesionKit",
"path" : "Sources/CohesionKit",
"product_memberships" : [
"CohesionKit"
],
"sources" : [
"AliasKey.swift",
"Combine/EntityObserver+Publisher.swift",
"Combine/Publisher+CohesionKit.swift",
"Entity/Aggregate.swift",
"Entity/EntityWrapper.swift",
"EntityStore.swift",
"KeyPath/PartialIdentifiableKeyPath.swift",
"Logger.swift",
"Observer/EntityObserver.swift",
"Observer/ObserverRegistry.swift",
"Observer/Subscription.swift",
"Stamp/Date+Stamp.swift",
"Stamp/StampError.swift",
"Storage/AliasContainer.swift",
"Storage/AliasStorage.swift",
"Storage/EntitiesStorage.swift",
"Storage/EntityNode.swift",
"Visitor/EntityContext.swift",
"Visitor/EntityStoreVisitor.swift",
"Visitor/NestedEntitiesVisitor.swift",
"Weak.swift"
],
"type" : "library"
}
],
"tools_version" : "5.3"
}
Done.