The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of Optimizely, reference master (d772ee), with Swift 6.0 for macOS (SPM) on 2 Sep 2025 17:31:46 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.67.1
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 d772ee2 [FSSDK-11454] Swift - Add SDK Multi-Region Support for Data Hosting (#606)
Cloned https://github.com/optimizely/swift-sdk.git
Revision (git rev-parse @):
d772ee2ac46060607a26bddb25e4e039a2409118
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] Copying PrivacyInfo.xcprivacy
[0/3] Write sources
[2/3] Write swift-version-5BDAB9E9C0126B9D.txt
[4/91] Emitting module Optimizely
[5/100] Compiling Optimizely Event.swift
[6/100] Compiling Optimizely Experiment.swift
[7/100] Compiling Optimizely ExperimentCore.swift
[8/100] Compiling Optimizely FeatureFlag.swift
[9/100] Compiling Optimizely FeatureVariable.swift
[10/100] Compiling Optimizely Group.swift
[11/100] Compiling Optimizely Holdout.swift
[12/100] Compiling Optimizely HoldoutConfig.swift
[13/100] Compiling Optimizely Integration.swift
[14/100] Compiling Optimizely Project.swift
[15/100] Compiling Optimizely Attribute.swift
[16/100] Compiling Optimizely AttributeValue.swift
[17/100] Compiling Optimizely Audience.swift
[18/100] Compiling Optimizely ConditionHolder.swift
[19/100] Compiling Optimizely ConditionLeaf.swift
[20/100] Compiling Optimizely SemanticVersion.swift
[21/100] Compiling Optimizely UserAttribute.swift
[22/100] Compiling Optimizely Cmab.swift
[23/100] Compiling Optimizely BatchEvent.swift
[24/100] Compiling Optimizely EventForDispatch.swift
[25/100] Compiling Optimizely OPTBucketer.swift
[26/100] Compiling Optimizely OPTDataStore.swift
[27/100] Compiling Optimizely OPTDecisionService.swift
[28/100] Compiling Optimizely OPTNotificationCenter.swift
[29/100] Compiling Optimizely AtomicArray.swift
[30/100] Compiling Optimizely AtomicDictionary.swift
[31/100] Compiling Optimizely AtomicProperty.swift
[32/100] Compiling Optimizely Constants.swift
[33/100] Compiling Optimizely HandlerRegistryService.swift
[34/100] Compiling Optimizely ProjectConfig.swift
[35/100] Compiling Optimizely Rollout.swift
[36/100] Compiling Optimizely TrafficAllocation.swift
[37/100] Compiling Optimizely Variable.swift
[38/100] Compiling Optimizely Variation.swift
[39/100] Compiling Optimizely Array+Extension.swift
[40/100] Compiling Optimizely ArrayEventForDispatch+Extension.swift
[41/100] Compiling Optimizely DataStoreQueueStackImpl+Extension.swift
[42/100] Compiling Optimizely OptimizelyClient+Extension.swift
[43/100] Compiling Optimizely DataStoreFile.swift
[44/100] 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
[45/100] 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
[46/100] 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
[47/100] 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
[48/100] 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
[49/100] 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
[50/100] 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
[51/100] 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
[52/100] 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
[53/100] Compiling Optimizely OptimizelySdkSettings.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
[54/100] Compiling Optimizely DataStoreMemory.swift
[55/100] Compiling Optimizely DataStoreQueueStackImpl.swift
[56/100] Compiling Optimizely DataStoreUserDefaults.swift
[57/100] Compiling Optimizely DecisionInfo.swift
[58/100] Compiling Optimizely DecisionReasons.swift
[59/100] Compiling Optimizely DecisionResponse.swift
[60/100] Compiling Optimizely DefaultBucketer.swift
[61/100] Compiling Optimizely DefaultDecisionService.swift
[62/100] Compiling Optimizely DefaultNotificationCenter.swift
[63/100] Compiling Optimizely BatchEventBuilder.swift
[64/100] Compiling Optimizely OptimizelySegmentOption.swift
[65/100] Compiling Optimizely OptimizelyClient+Decide.swift
[66/100] Compiling Optimizely OptimizelyDecideOption.swift
[67/100] Compiling Optimizely OptimizelyDecision.swift
[68/100] Compiling Optimizely OptimizelyUserContext+ObjC.swift
[69/100] Compiling Optimizely OptimizelyUserContext.swift
[70/100] Compiling Optimizely OptimizelyClient+ObjC.swift
[71/100] Compiling Optimizely OptimizelyClient.swift
[72/100] Compiling Optimizely OptimizelyConfig+ObjC.swift
[73/100] Compiling Optimizely CmabClient.swift
[74/100] Compiling Optimizely CmabService.swift
[75/100] Compiling Optimizely DefaultDatafileHandler.swift
[76/100] Compiling Optimizely DefaultEventDispatcher.swift
[77/100] Compiling Optimizely DefaultLogger.swift
[78/100] Compiling Optimizely DefaultUserProfileService.swift
[79/100] Compiling Optimizely OPTDatafileHandler.swift
[80/100] Compiling Optimizely OPTEventDispatcher.swift
[81/100] Compiling Optimizely OPTLogger.swift
[82/100] Compiling Optimizely OPTUserProfileService.swift
[83/100] Compiling Optimizely LogMessage.swift
[84/100] Compiling Optimizely MurmurHash3.swift
[85/100] Compiling Optimizely NetworkReachability.swift
[86/100] Compiling Optimizely Notifications.swift
[87/100] Compiling Optimizely SDKVersion.swift
[88/100] Compiling Optimizely ThreadSafeLogger.swift
[89/100] Compiling Optimizely Utils.swift
[90/100] Compiling Optimizely WatchBackgroundNotifier.swift
[91/100] Compiling Optimizely resource_bundle_accessor.swift
[92/100] Compiling Optimizely OptimizelyConfig.swift
[93/100] Compiling Optimizely OptimizelyError.swift
[94/100] Compiling Optimizely OptimizelyJSON+ObjC.swift
[95/100] Compiling Optimizely OptimizelyJSON.swift
[96/100] Compiling Optimizely OptimizelyLogLevel.swift
[97/100] Compiling Optimizely OptimizelyResult.swift
[98/100] Compiling Optimizely VuidManager.swift
[99/100] Compiling Optimizely BackgroundingCallbacks.swift
[100/100] Compiling Optimizely DataStoreQueueStack.swift
Build complete! (8.54s)
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/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.