Build Information
Successful build of Optimizely, reference master (db736b), with Swift 6.0 for macOS (SPM) on 4 Dec 2025 16:04:43 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/optimizely/swift-sdk.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/optimizely/swift-sdk
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at db736bd feat: add CMAB Example and CMAB Custom Config functions and update datafile JSON structure (#611)
Cloned https://github.com/optimizely/swift-sdk.git
Revision (git rev-parse @):
db736bd1d965ac0df3110bc4ee0a6c208d89fd0e
SUCCESS checkout https://github.com/optimizely/swift-sdk.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/optimizely/swift-sdk.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64
Building for debugging...
[0/3] Write sources
[0/3] Copying PrivacyInfo.xcprivacy
[2/3] Write swift-version-5BDAB9E9C0126B9D.txt
[4/92] Emitting module Optimizely
[5/101] Compiling Optimizely Project.swift
[6/101] Compiling Optimizely ProjectConfig.swift
[7/101] Compiling Optimizely Rollout.swift
[8/101] Compiling Optimizely TrafficAllocation.swift
[9/101] Compiling Optimizely Variable.swift
[10/101] Compiling Optimizely Variation.swift
[11/101] Compiling Optimizely Array+Extension.swift
[12/101] Compiling Optimizely ArrayEventForDispatch+Extension.swift
[13/101] Compiling Optimizely DataStoreQueueStackImpl+Extension.swift
[14/101] Compiling Optimizely OptimizelyClient+Extension.swift
[15/101] Compiling Optimizely DataStoreFile.swift
[16/101] Compiling Optimizely DataStoreMemory.swift
[17/101] Compiling Optimizely DataStoreQueueStackImpl.swift
[18/101] Compiling Optimizely DataStoreUserDefaults.swift
[19/101] Compiling Optimizely DecisionInfo.swift
[20/101] Compiling Optimizely DecisionReasons.swift
[21/101] Compiling Optimizely DecisionResponse.swift
[22/101] Compiling Optimizely DefaultBucketer.swift
[23/101] Compiling Optimizely DefaultDecisionService.swift
[24/101] Compiling Optimizely DefaultNotificationCenter.swift
[25/101] Compiling Optimizely OptimizelySdkSettings.swift
[26/101] Compiling Optimizely OptimizelySegmentOption.swift
[27/101] Compiling Optimizely OptimizelyClient+Decide.swift
[28/101] Compiling Optimizely OptimizelyDecideOption.swift
[29/101] Compiling Optimizely OptimizelyDecision.swift
[30/101] Compiling Optimizely OptimizelyUserContext+ObjC.swift
[31/101] Compiling Optimizely OptimizelyUserContext.swift
[32/101] Compiling Optimizely OptimizelyClient+ObjC.swift
[33/101] Compiling Optimizely OptimizelyClient.swift
[34/101] Compiling Optimizely OptimizelyConfig+ObjC.swift
[35/101] Compiling Optimizely OPTUserProfileService.swift
[36/101] Compiling Optimizely Attribute.swift
[37/101] Compiling Optimizely AttributeValue.swift
[38/101] Compiling Optimizely Audience.swift
[39/101] Compiling Optimizely ConditionHolder.swift
[40/101] Compiling Optimizely ConditionLeaf.swift
[41/101] Compiling Optimizely SemanticVersion.swift
[42/101] Compiling Optimizely UserAttribute.swift
[43/101] Compiling Optimizely Cmab.swift
[44/101] Compiling Optimizely BatchEvent.swift
[45/101] Compiling Optimizely EventForDispatch.swift
[46/101] Compiling Optimizely Event.swift
[47/101] Compiling Optimizely Experiment.swift
[48/101] Compiling Optimizely ExperimentCore.swift
[49/101] Compiling Optimizely FeatureFlag.swift
[50/101] Compiling Optimizely FeatureVariable.swift
[51/101] Compiling Optimizely Group.swift
[52/101] Compiling Optimizely Holdout.swift
[53/101] Compiling Optimizely HoldoutConfig.swift
[54/101] Compiling Optimizely Integration.swift
[55/101] Compiling Optimizely BatchEventBuilder.swift
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
93 | if maxSize <= 0 { return }
94 | queue.async(flags: .barrier) {
95 | if var item = self.map[key] {
| `- warning: variable 'item' was never mutated; consider changing to 'let' constant
96 | self.removeFromLink(item)
97 | self.map[key] = nil
[56/101] Compiling Optimizely UserProfileTracker.swift
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
93 | if maxSize <= 0 { return }
94 | queue.async(flags: .barrier) {
95 | if var item = self.map[key] {
| `- warning: variable 'item' was never mutated; consider changing to 'let' constant
96 | self.removeFromLink(item)
97 | self.map[key] = nil
[57/101] Compiling Optimizely LruCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
93 | if maxSize <= 0 { return }
94 | queue.async(flags: .barrier) {
95 | if var item = self.map[key] {
| `- warning: variable 'item' was never mutated; consider changing to 'let' constant
96 | self.removeFromLink(item)
97 | self.map[key] = nil
[58/101] Compiling Optimizely OdpConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
93 | if maxSize <= 0 { return }
94 | queue.async(flags: .barrier) {
95 | if var item = self.map[key] {
| `- warning: variable 'item' was never mutated; consider changing to 'let' constant
96 | self.removeFromLink(item)
97 | self.map[key] = nil
[59/101] Compiling Optimizely OdpEvent.swift
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
93 | if maxSize <= 0 { return }
94 | queue.async(flags: .barrier) {
95 | if var item = self.map[key] {
| `- warning: variable 'item' was never mutated; consider changing to 'let' constant
96 | self.removeFromLink(item)
97 | self.map[key] = nil
[60/101] Compiling Optimizely OdpEventApiManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
93 | if maxSize <= 0 { return }
94 | queue.async(flags: .barrier) {
95 | if var item = self.map[key] {
| `- warning: variable 'item' was never mutated; consider changing to 'let' constant
96 | self.removeFromLink(item)
97 | self.map[key] = nil
[61/101] Compiling Optimizely OdpEventManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
93 | if maxSize <= 0 { return }
94 | queue.async(flags: .barrier) {
95 | if var item = self.map[key] {
| `- warning: variable 'item' was never mutated; consider changing to 'let' constant
96 | self.removeFromLink(item)
97 | self.map[key] = nil
[62/101] Compiling Optimizely OdpManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
93 | if maxSize <= 0 { return }
94 | queue.async(flags: .barrier) {
95 | if var item = self.map[key] {
| `- warning: variable 'item' was never mutated; consider changing to 'let' constant
96 | self.removeFromLink(item)
97 | self.map[key] = nil
[63/101] Compiling Optimizely OdpSegmentApiManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
93 | if maxSize <= 0 { return }
94 | queue.async(flags: .barrier) {
95 | if var item = self.map[key] {
| `- warning: variable 'item' was never mutated; consider changing to 'let' constant
96 | self.removeFromLink(item)
97 | self.map[key] = nil
[64/101] Compiling Optimizely OdpSegmentManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/ODP/LruCache.swift:95:20: warning: variable 'item' was never mutated; consider changing to 'let' constant
93 | if maxSize <= 0 { return }
94 | queue.async(flags: .barrier) {
95 | if var item = self.map[key] {
| `- warning: variable 'item' was never mutated; consider changing to 'let' constant
96 | self.removeFromLink(item)
97 | self.map[key] = nil
[65/101] Compiling Optimizely OPTBucketer.swift
[66/101] Compiling Optimizely OPTDataStore.swift
[67/101] Compiling Optimizely OPTDecisionService.swift
[68/101] Compiling Optimizely OPTNotificationCenter.swift
[69/101] Compiling Optimizely AtomicArray.swift
[70/101] Compiling Optimizely AtomicDictionary.swift
[71/101] Compiling Optimizely AtomicProperty.swift
[72/101] Compiling Optimizely Constants.swift
[73/101] Compiling Optimizely HandlerRegistryService.swift
[74/101] Compiling Optimizely CmabClient.swift
[75/101] Compiling Optimizely CmabConfig.swift
[76/101] Compiling Optimizely CmabService.swift
[77/101] Compiling Optimizely DefaultDatafileHandler.swift
[78/101] Compiling Optimizely DefaultEventDispatcher.swift
[79/101] Compiling Optimizely DefaultLogger.swift
[80/101] Compiling Optimizely DefaultUserProfileService.swift
[81/101] Compiling Optimizely OPTDatafileHandler.swift
[82/101] Compiling Optimizely OPTEventDispatcher.swift
[83/101] Compiling Optimizely OPTLogger.swift
[84/101] Compiling Optimizely LogMessage.swift
[85/101] Compiling Optimizely MurmurHash3.swift
[86/101] Compiling Optimizely NetworkReachability.swift
[87/101] Compiling Optimizely Notifications.swift
[88/101] Compiling Optimizely SDKVersion.swift
[89/101] Compiling Optimizely ThreadSafeLogger.swift
[90/101] Compiling Optimizely Utils.swift
[91/101] Compiling Optimizely WatchBackgroundNotifier.swift
[92/101] Compiling Optimizely resource_bundle_accessor.swift
[93/101] Compiling Optimizely OptimizelyConfig.swift
[94/101] Compiling Optimizely OptimizelyError.swift
[95/101] Compiling Optimizely OptimizelyJSON+ObjC.swift
[96/101] Compiling Optimizely OptimizelyJSON.swift
[97/101] Compiling Optimizely OptimizelyLogLevel.swift
[98/101] Compiling Optimizely OptimizelyResult.swift
[99/101] Compiling Optimizely VuidManager.swift
[100/101] Compiling Optimizely BackgroundingCallbacks.swift
[101/101] Compiling Optimizely DataStoreQueueStack.swift
Build complete! (8.32s)
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Sources/Supporting Files/Info.plist
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Optimizely",
"name" : "Optimizely",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "10.0"
},
{
"name" : "tvos",
"version" : "10.0"
},
{
"name" : "macos",
"version" : "10.14"
},
{
"name" : "watchos",
"version" : "3.0"
}
],
"products" : [
{
"name" : "Optimizely",
"targets" : [
"Optimizely"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "Optimizely",
"module_type" : "SwiftTarget",
"name" : "Optimizely",
"path" : "Sources",
"product_memberships" : [
"Optimizely"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Supporting Files/PrivacyInfo.xcprivacy",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"CMAB/CmabClient.swift",
"CMAB/CmabConfig.swift",
"CMAB/CmabService.swift",
"Customization/DefaultDatafileHandler.swift",
"Customization/DefaultEventDispatcher.swift",
"Customization/DefaultLogger.swift",
"Customization/DefaultUserProfileService.swift",
"Customization/Protocols/OPTDatafileHandler.swift",
"Customization/Protocols/OPTEventDispatcher.swift",
"Customization/Protocols/OPTLogger.swift",
"Customization/Protocols/OPTUserProfileService.swift",
"Data Model/Attribute.swift",
"Data Model/Audience/AttributeValue.swift",
"Data Model/Audience/Audience.swift",
"Data Model/Audience/ConditionHolder.swift",
"Data Model/Audience/ConditionLeaf.swift",
"Data Model/Audience/SemanticVersion.swift",
"Data Model/Audience/UserAttribute.swift",
"Data Model/Cmab.swift",
"Data Model/DispatchEvents/BatchEvent.swift",
"Data Model/DispatchEvents/EventForDispatch.swift",
"Data Model/Event.swift",
"Data Model/Experiment.swift",
"Data Model/ExperimentCore.swift",
"Data Model/FeatureFlag.swift",
"Data Model/FeatureVariable.swift",
"Data Model/Group.swift",
"Data Model/Holdout.swift",
"Data Model/HoldoutConfig.swift",
"Data Model/Integration.swift",
"Data Model/Project.swift",
"Data Model/ProjectConfig.swift",
"Data Model/Rollout.swift",
"Data Model/TrafficAllocation.swift",
"Data Model/Variable.swift",
"Data Model/Variation.swift",
"Extensions/Array+Extension.swift",
"Extensions/ArrayEventForDispatch+Extension.swift",
"Extensions/DataStoreQueueStackImpl+Extension.swift",
"Extensions/OptimizelyClient+Extension.swift",
"Implementation/Datastore/DataStoreFile.swift",
"Implementation/Datastore/DataStoreMemory.swift",
"Implementation/Datastore/DataStoreQueueStackImpl.swift",
"Implementation/Datastore/DataStoreUserDefaults.swift",
"Implementation/DecisionInfo.swift",
"Implementation/DecisionReasons.swift",
"Implementation/DecisionResponse.swift",
"Implementation/DefaultBucketer.swift",
"Implementation/DefaultDecisionService.swift",
"Implementation/DefaultNotificationCenter.swift",
"Implementation/Events/BatchEventBuilder.swift",
"Implementation/UserProfileTracker.swift",
"ODP/LruCache.swift",
"ODP/OdpConfig.swift",
"ODP/OdpEvent.swift",
"ODP/OdpEventApiManager.swift",
"ODP/OdpEventManager.swift",
"ODP/OdpManager.swift",
"ODP/OdpSegmentApiManager.swift",
"ODP/OdpSegmentManager.swift",
"ODP/OptimizelySdkSettings.swift",
"ODP/OptimizelySegmentOption.swift",
"Optimizely+Decide/OptimizelyClient+Decide.swift",
"Optimizely+Decide/OptimizelyDecideOption.swift",
"Optimizely+Decide/OptimizelyDecision.swift",
"Optimizely+Decide/OptimizelyUserContext+ObjC.swift",
"Optimizely+Decide/OptimizelyUserContext.swift",
"Optimizely/OptimizelyClient+ObjC.swift",
"Optimizely/OptimizelyClient.swift",
"Optimizely/OptimizelyConfig+ObjC.swift",
"Optimizely/OptimizelyConfig.swift",
"Optimizely/OptimizelyError.swift",
"Optimizely/OptimizelyJSON+ObjC.swift",
"Optimizely/OptimizelyJSON.swift",
"Optimizely/OptimizelyLogLevel.swift",
"Optimizely/OptimizelyResult.swift",
"Optimizely/VuidManager.swift",
"Protocols/BackgroundingCallbacks.swift",
"Protocols/DataStoreQueueStack.swift",
"Protocols/OPTBucketer.swift",
"Protocols/OPTDataStore.swift",
"Protocols/OPTDecisionService.swift",
"Protocols/OPTNotificationCenter.swift",
"Utils/AtomicArray.swift",
"Utils/AtomicDictionary.swift",
"Utils/AtomicProperty.swift",
"Utils/Constants.swift",
"Utils/HandlerRegistryService.swift",
"Utils/LogMessage.swift",
"Utils/MurmurHash3.swift",
"Utils/NetworkReachability.swift",
"Utils/Notifications.swift",
"Utils/SDKVersion.swift",
"Utils/ThreadSafeLogger.swift",
"Utils/Utils.swift",
"watchOS/WatchBackgroundNotifier.swift"
],
"type" : "library"
}
],
"tools_version" : "5.3"
}
Done.