Build Information
Successful build of GOFeatureFlag, reference v0.4.0 (bd7039
), with Swift 6.0 for macOS (SPM) on 13 Mar 2025 20:21:31 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/go-feature-flag/openfeature-swift-provider.git
Reference: v0.4.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/go-feature-flag/openfeature-swift-provider
* tag v0.4.0 -> FETCH_HEAD
HEAD is now at bd70399 feat: Openfeature SDK spec 0.8 support (#15)
Cloned https://github.com/go-feature-flag/openfeature-swift-provider.git
Revision (git rev-parse @):
bd703990705221703f20ff2c861d5fa11bf4212a
SUCCESS checkout https://github.com/go-feature-flag/openfeature-swift-provider.git at v0.4.0
Fetching https://github.com/open-feature/swift-sdk.git
[1/692] Fetching swift-sdk
Fetched https://github.com/open-feature/swift-sdk.git from cache (0.83s)
Computing version for https://github.com/open-feature/swift-sdk.git
Computed https://github.com/open-feature/swift-sdk.git at 0.3.0 (0.56s)
Creating working copy for https://github.com/open-feature/swift-sdk.git
Working copy of https://github.com/open-feature/swift-sdk.git resolved at 0.3.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": "openfeature-swift-provider",
"name": "GOFeatureFlag",
"url": "https://github.com/go-feature-flag/openfeature-swift-provider.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/openfeature-swift-provider",
"dependencies": [
{
"identity": "swift-sdk",
"name": "OpenFeature",
"url": "https://github.com/open-feature/swift-sdk.git",
"version": "0.3.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-sdk",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/go-feature-flag/openfeature-swift-provider.git
[1/425] Fetching openfeature-swift-provider
Fetched https://github.com/go-feature-flag/openfeature-swift-provider.git from cache (0.75s)
Fetching https://github.com/open-feature/swift-sdk.git from cache
Fetched https://github.com/open-feature/swift-sdk.git from cache (0.46s)
Computing version for https://github.com/open-feature/swift-sdk.git
Computed https://github.com/open-feature/swift-sdk.git at 0.3.0 (0.02s)
Creating working copy for https://github.com/open-feature/swift-sdk.git
Working copy of https://github.com/open-feature/swift-sdk.git resolved at 0.3.0
Creating working copy for https://github.com/go-feature-flag/openfeature-swift-provider.git
Working copy of https://github.com/go-feature-flag/openfeature-swift-provider.git resolved at v0.4.0 (bd70399)
warning: '.resolve-product-dependencies': dependency 'openfeature-swift-provider' is not used by any target
Found 1 product dependencies
- OpenFeature
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/go-feature-flag/openfeature-swift-provider.git
https://github.com/go-feature-flag/openfeature-swift-provider.git
{
"dependencies" : [
{
"identity" : "swift-sdk",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/open-feature/swift-sdk.git"
}
],
"manifest_display_name" : "GOFeatureFlag",
"name" : "GOFeatureFlag",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "GOFeatureFlag",
"targets" : [
"GOFeatureFlag"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "OFREP",
"targets" : [
"OFREP"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "OFREPTests",
"module_type" : "SwiftTarget",
"name" : "OFREPTests",
"path" : "Tests/OFREPTests",
"sources" : [
"mock_networking_service.swift",
"ofrep_api_tests.swift",
"provider_tests.swift"
],
"target_dependencies" : [
"OFREP"
],
"type" : "test"
},
{
"c99name" : "OFREP",
"module_type" : "SwiftTarget",
"name" : "OFREP",
"path" : "Sources/OFREP",
"product_dependencies" : [
"OpenFeature"
],
"product_memberships" : [
"GOFeatureFlag",
"OFREP"
],
"sources" : [
"controller/ofrep_api.swift",
"exception/ofrep_errors.swift",
"exception/option_exceptions.swift",
"model/bulk_evaluation_response.swift",
"model/bulk_evaluation_status.swift",
"model/bulk_evalutaion_request.swift",
"model/json_value.swift",
"model/options.swift",
"ofrep.swift",
"protocol/networking_service.swift"
],
"type" : "library"
},
{
"c99name" : "GOFeatureFlagTests",
"module_type" : "SwiftTarget",
"name" : "GOFeatureFlagTests",
"path" : "Tests/GOFeatureFlagTests",
"sources" : [
"goff_api_tests.swift",
"mock_networking_service.swift",
"provider_tests.swift"
],
"target_dependencies" : [
"GOFeatureFlag"
],
"type" : "test"
},
{
"c99name" : "GOFeatureFlag",
"module_type" : "SwiftTarget",
"name" : "GOFeatureFlag",
"path" : "Sources/GOFeatureFlag",
"product_memberships" : [
"GOFeatureFlag"
],
"sources" : [
"controller/data_collector_manager.swift",
"controller/exporter_metadata.swift",
"controller/goff_api.swift",
"exception/goff_errors.swift",
"hook/data_collector_bool_hook.swift",
"hook/data_collector_double_hook.swift",
"hook/data_collector_integer_hook.swift",
"hook/data_collector_object_hook.swift",
"hook/data_collector_string_hook.swift",
"model/data_collector_request.swift",
"model/data_collector_response.swift",
"model/feature_event.swift",
"model/value_extension.swift",
"options.swift",
"provider.swift"
],
"target_dependencies" : [
"OFREP"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
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/4] Write sources
[3/4] Write swift-version-5BDAB9E9C0126B9D.txt
[5/32] Emitting module OpenFeature
[6/34] Compiling OpenFeature Reason.swift
[7/34] Compiling OpenFeature Structure.swift
[8/34] Compiling OpenFeature Value.swift
[9/34] Compiling OpenFeature ErrorCode.swift
[10/34] Compiling OpenFeature OpenFeatureError.swift
[11/34] Compiling OpenFeature FlagMetadataValue.swift
[12/34] Compiling OpenFeature FlagValueType.swift
[13/34] Compiling OpenFeature Hook.swift
[14/34] Compiling OpenFeature BaseEvaluation.swift
[15/34] Compiling OpenFeature Client.swift
[16/34] Compiling OpenFeature ClientMetadata.swift
[17/34] Compiling OpenFeature FeatureProvider.swift
[18/34] Compiling OpenFeature NoOpProvider.swift
[19/34] Compiling OpenFeature ProviderEvaluation.swift
[20/34] Compiling OpenFeature EvaluationContext.swift
[21/34] Compiling OpenFeature EventHandler.swift
[22/34] Compiling OpenFeature Features+Defaults.swift
[23/34] Compiling OpenFeature Features.swift
[24/34] Compiling OpenFeature FlagEvaluationDetails.swift
[25/34] Compiling OpenFeature FlagEvaluationOptions.swift
[26/34] Compiling OpenFeature HookContext.swift
[27/34] Compiling OpenFeature HookSupport.swift
[28/34] Compiling OpenFeature MutableContext.swift
[29/34] Compiling OpenFeature ProviderEvents.swift
[30/34] Compiling OpenFeature ProviderMetadata.swift
[31/34] Compiling OpenFeature ProviderStatus.swift
[32/34] Compiling OpenFeature MutableStructure.swift
[33/34] Compiling OpenFeature OpenFeatureAPI.swift
[34/34] Compiling OpenFeature OpenFeatureClient.swift
[35/44] Compiling OFREP options.swift
[36/45] Compiling OFREP ofrep_errors.swift
[37/45] Compiling OFREP ofrep_api.swift
[38/45] Compiling OFREP ofrep.swift
/Users/admin/builder/spi-builder-workspace/Sources/OFREP/ofrep.swift:272:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
270 | timer?.setEventHandler { [weak self] in
271 | guard let weakSelf = self else { return }
272 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
273 | do {
274 | let status = try await weakSelf.evaluateFlags(context: weakSelf.evaluationContext)
| `- note: closure captures 'weakSelf' which is accessible to code in the current task
275 | if status == .successWithChanges {
276 | weakSelf.eventHandler.send(.configurationChanged)
[39/45] Compiling OFREP json_value.swift
[40/45] Compiling OFREP bulk_evaluation_status.swift
[41/45] Compiling OFREP bulk_evaluation_response.swift
[42/45] Compiling OFREP bulk_evalutaion_request.swift
[43/45] Emitting module OFREP
[44/45] Compiling OFREP option_exceptions.swift
[45/45] Compiling OFREP networking_service.swift
[46/60] Compiling GOFeatureFlag goff_api.swift
[47/60] Compiling GOFeatureFlag goff_errors.swift
[48/60] Compiling GOFeatureFlag data_collector_response.swift
[49/60] Compiling GOFeatureFlag data_collector_bool_hook.swift
[50/60] Compiling GOFeatureFlag data_collector_double_hook.swift
[51/60] Emitting module GOFeatureFlag
[52/60] Compiling GOFeatureFlag data_collector_manager.swift
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:32:13: warning: capture of 'self' with non-sendable type 'DataCollectorManager' in a `@Sendable` closure
3 | import Combine
4 |
5 | class DataCollectorManager {
| `- note: class 'DataCollectorManager' does not conform to the 'Sendable' protocol
6 | var events: [FeatureEvent] = []
7 | var hooks: [any Hook] = []
:
30 | func appendFeatureEvent(event: FeatureEvent) {
31 | self.queue.async(flags:.barrier) {
32 | self.events.append(event)
| `- warning: capture of 'self' with non-sendable type 'DataCollectorManager' in a `@Sendable` closure
33 | }
34 | }
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:32:32: warning: capture of 'event' with non-sendable type 'FeatureEvent' in a `@Sendable` closure
30 | func appendFeatureEvent(event: FeatureEvent) {
31 | self.queue.async(flags:.barrier) {
32 | self.events.append(event)
| `- warning: capture of 'event' with non-sendable type 'FeatureEvent' in a `@Sendable` closure
33 | }
34 | }
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/model/feature_event.swift:4:8: note: consider making struct 'FeatureEvent' conform to the 'Sendable' protocol
2 | import OFREP
3 |
4 | struct FeatureEvent: Codable {
| `- note: consider making struct 'FeatureEvent' conform to the 'Sendable' protocol
5 | // Kind for a feature event is feature.
6 | // A feature event will only be generated if the trackEvents attribute of the flag is set to true.
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:40:25: warning: capture of 'self' with non-sendable type 'DataCollectorManager' in a `@Sendable` closure
3 | import Combine
4 |
5 | class DataCollectorManager {
| `- note: class 'DataCollectorManager' does not conform to the 'Sendable' protocol
6 | var events: [FeatureEvent] = []
7 | var hooks: [any Hook] = []
:
38 | Task {
39 | do {
40 | if !self.events.isEmpty {
| `- warning: capture of 'self' with non-sendable type 'DataCollectorManager' in a `@Sendable` closure
41 | (_,_) = try await self.goffAPI.postDataCollector(events: self.events)
42 | self.events = []
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:40:25: warning: capture of 'self' with non-sendable type 'DataCollectorManager' in an isolated closure; this is an error in the Swift 6 language mode
3 | import Combine
4 |
5 | class DataCollectorManager {
| `- note: class 'DataCollectorManager' does not conform to the 'Sendable' protocol
6 | var events: [FeatureEvent] = []
7 | var hooks: [any Hook] = []
:
38 | Task {
39 | do {
40 | if !self.events.isEmpty {
| `- warning: capture of 'self' with non-sendable type 'DataCollectorManager' in an isolated closure; this is an error in the Swift 6 language mode
41 | (_,_) = try await self.goffAPI.postDataCollector(events: self.events)
42 | self.events = []
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:23:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
21 | timer?.setEventHandler { [weak self] in
22 | guard let weakSelf = self else { return }
23 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
24 | await weakSelf.pushEvents()
| `- note: closure captures 'weakSelf' which is accessible to code in the current task
25 | }
26 | }
[53/60] Compiling GOFeatureFlag exporter_metadata.swift
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:32:13: warning: capture of 'self' with non-sendable type 'DataCollectorManager' in a `@Sendable` closure
3 | import Combine
4 |
5 | class DataCollectorManager {
| `- note: class 'DataCollectorManager' does not conform to the 'Sendable' protocol
6 | var events: [FeatureEvent] = []
7 | var hooks: [any Hook] = []
:
30 | func appendFeatureEvent(event: FeatureEvent) {
31 | self.queue.async(flags:.barrier) {
32 | self.events.append(event)
| `- warning: capture of 'self' with non-sendable type 'DataCollectorManager' in a `@Sendable` closure
33 | }
34 | }
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:32:32: warning: capture of 'event' with non-sendable type 'FeatureEvent' in a `@Sendable` closure
30 | func appendFeatureEvent(event: FeatureEvent) {
31 | self.queue.async(flags:.barrier) {
32 | self.events.append(event)
| `- warning: capture of 'event' with non-sendable type 'FeatureEvent' in a `@Sendable` closure
33 | }
34 | }
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/model/feature_event.swift:4:8: note: consider making struct 'FeatureEvent' conform to the 'Sendable' protocol
2 | import OFREP
3 |
4 | struct FeatureEvent: Codable {
| `- note: consider making struct 'FeatureEvent' conform to the 'Sendable' protocol
5 | // Kind for a feature event is feature.
6 | // A feature event will only be generated if the trackEvents attribute of the flag is set to true.
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:40:25: warning: capture of 'self' with non-sendable type 'DataCollectorManager' in a `@Sendable` closure
3 | import Combine
4 |
5 | class DataCollectorManager {
| `- note: class 'DataCollectorManager' does not conform to the 'Sendable' protocol
6 | var events: [FeatureEvent] = []
7 | var hooks: [any Hook] = []
:
38 | Task {
39 | do {
40 | if !self.events.isEmpty {
| `- warning: capture of 'self' with non-sendable type 'DataCollectorManager' in a `@Sendable` closure
41 | (_,_) = try await self.goffAPI.postDataCollector(events: self.events)
42 | self.events = []
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:40:25: warning: capture of 'self' with non-sendable type 'DataCollectorManager' in an isolated closure; this is an error in the Swift 6 language mode
3 | import Combine
4 |
5 | class DataCollectorManager {
| `- note: class 'DataCollectorManager' does not conform to the 'Sendable' protocol
6 | var events: [FeatureEvent] = []
7 | var hooks: [any Hook] = []
:
38 | Task {
39 | do {
40 | if !self.events.isEmpty {
| `- warning: capture of 'self' with non-sendable type 'DataCollectorManager' in an isolated closure; this is an error in the Swift 6 language mode
41 | (_,_) = try await self.goffAPI.postDataCollector(events: self.events)
42 | self.events = []
/Users/admin/builder/spi-builder-workspace/Sources/GOFeatureFlag/controller/data_collector_manager.swift:23:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
21 | timer?.setEventHandler { [weak self] in
22 | guard let weakSelf = self else { return }
23 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
24 | await weakSelf.pushEvents()
| `- note: closure captures 'weakSelf' which is accessible to code in the current task
25 | }
26 | }
[54/61] Compiling GOFeatureFlag options.swift
[55/61] Compiling GOFeatureFlag data_collector_string_hook.swift
[56/61] Compiling GOFeatureFlag data_collector_request.swift
[57/61] Compiling GOFeatureFlag value_extension.swift
[58/61] Compiling GOFeatureFlag feature_event.swift
[59/61] Compiling GOFeatureFlag data_collector_integer_hook.swift
[60/61] Compiling GOFeatureFlag data_collector_object_hook.swift
[61/61] Compiling GOFeatureFlag provider.swift
Build complete! (21.16s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-sdk",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/open-feature/swift-sdk.git"
}
],
"manifest_display_name" : "GOFeatureFlag",
"name" : "GOFeatureFlag",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "GOFeatureFlag",
"targets" : [
"GOFeatureFlag"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "OFREP",
"targets" : [
"OFREP"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "OFREPTests",
"module_type" : "SwiftTarget",
"name" : "OFREPTests",
"path" : "Tests/OFREPTests",
"sources" : [
"mock_networking_service.swift",
"ofrep_api_tests.swift",
"provider_tests.swift"
],
"target_dependencies" : [
"OFREP"
],
"type" : "test"
},
{
"c99name" : "OFREP",
"module_type" : "SwiftTarget",
"name" : "OFREP",
"path" : "Sources/OFREP",
"product_dependencies" : [
"OpenFeature"
],
"product_memberships" : [
"GOFeatureFlag",
"OFREP"
],
"sources" : [
"controller/ofrep_api.swift",
"exception/ofrep_errors.swift",
"exception/option_exceptions.swift",
"model/bulk_evaluation_response.swift",
"model/bulk_evaluation_status.swift",
"model/bulk_evalutaion_request.swift",
"model/json_value.swift",
"model/options.swift",
"ofrep.swift",
"protocol/networking_service.swift"
],
"type" : "library"
},
{
"c99name" : "GOFeatureFlagTests",
"module_type" : "SwiftTarget",
"name" : "GOFeatureFlagTests",
"path" : "Tests/GOFeatureFlagTests",
"sources" : [
"goff_api_tests.swift",
"mock_networking_service.swift",
"provider_tests.swift"
],
"target_dependencies" : [
"GOFeatureFlag"
],
"type" : "test"
},
{
"c99name" : "GOFeatureFlag",
"module_type" : "SwiftTarget",
"name" : "GOFeatureFlag",
"path" : "Sources/GOFeatureFlag",
"product_memberships" : [
"GOFeatureFlag"
],
"sources" : [
"controller/data_collector_manager.swift",
"controller/exporter_metadata.swift",
"controller/goff_api.swift",
"exception/goff_errors.swift",
"hook/data_collector_bool_hook.swift",
"hook/data_collector_double_hook.swift",
"hook/data_collector_integer_hook.swift",
"hook/data_collector_object_hook.swift",
"hook/data_collector_string_hook.swift",
"model/data_collector_request.swift",
"model/data_collector_response.swift",
"model/feature_event.swift",
"model/value_extension.swift",
"options.swift",
"provider.swift"
],
"target_dependencies" : [
"OFREP"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.