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 CloudSyncSession, reference 0.2.0 (94c2d5), with Swift 6.2 (beta) for macOS (SPM) on 21 Jun 2025 00:56:53 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ryanashcraft/CloudSyncSession.git
Reference: 0.2.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/ryanashcraft/CloudSyncSession
 * tag               0.2.0      -> FETCH_HEAD
HEAD is now at 94c2d57 Improve rate limiting behavior (#6)
Cloned https://github.com/ryanashcraft/CloudSyncSession.git
Revision (git rev-parse @):
94c2d5720641f3fcbcf9395945c2de736d879029
SUCCESS checkout https://github.com/ryanashcraft/CloudSyncSession.git at 0.2.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/ryanashcraft/CloudSyncSession.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/11] Write sources
[10/11] Write swift-version-1EA4D86E10B52AF.txt
[12/25] Compiling InternalCollectionsUtilities UInt+first and last set bit.swift
[13/25] Compiling InternalCollectionsUtilities UInt+reversed.swift
[14/25] Compiling InternalCollectionsUtilities Descriptions.swift
[15/25] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[16/25] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[17/25] Compiling InternalCollectionsUtilities Debugging.swift
[18/26] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[19/26] Compiling InternalCollectionsUtilities _UnsafeBitSet.swift
[20/26] Compiling InternalCollectionsUtilities _SortedCollection.swift
[21/26] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[22/26] Compiling InternalCollectionsUtilities Integer rank.swift
[23/26] Emitting module InternalCollectionsUtilities
[24/26] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[25/26] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[26/26] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[27/308] Compiling HashTreeCollections _HashNode+Structural mapValues.swift
[28/308] Compiling HashTreeCollections _HashNode+Structural merge.swift
[29/309] Compiling DequeModule _DequeBufferHeader.swift
[30/309] Compiling DequeModule _DequeSlot.swift
[31/309] Compiling DequeModule _DequeBuffer.swift
[32/309] Compiling HeapModule _HeapNode.swift
[33/309] Compiling HeapModule Heap+UnsafeHandle.swift
[34/309] Compiling HeapModule Heap+ExpressibleByArrayLiteral.swift
[35/309] Compiling HeapModule Heap+Invariants.swift
[36/309] Compiling HeapModule Heap.swift
[37/309] Compiling HeapModule Heap+Descriptions.swift
[38/309] Emitting module HeapModule
[39/309] Compiling HashTreeCollections _HashNode+Primitive Replacement.swift
[40/309] Compiling HashTreeCollections _HashNode+Structural union.swift
[41/309] Compiling HashTreeCollections _HashNode+Subtree Insertions.swift
[42/309] Compiling HashTreeCollections _HashNode+Storage.swift
[43/309] Compiling HashTreeCollections _HashNode+Structural compactMapValues.swift
[44/309] Compiling HashTreeCollections _HashNode+Structural filter.swift
[45/309] Compiling HashTreeCollections _HashNode+Structural intersection.swift
[46/309] Compiling HashTreeCollections _HashNode+Structural isDisjoint.swift
[47/309] Compiling HashTreeCollections _HashNode+Structural subtracting.swift
[48/309] Compiling HashTreeCollections _HashNode+Structural symmetricDifference.swift
[49/315] Compiling DequeModule _UnsafeWrappedBuffer.swift
[50/315] Compiling HashTreeCollections TreeSet+SetAlgebra basics.swift
[51/315] Compiling HashTreeCollections TreeSet+SetAlgebra formIntersection.swift
[52/315] Compiling HashTreeCollections TreeSet+SetAlgebra formSymmetricDifference.swift
[53/315] Compiling HashTreeCollections TreeSet+SetAlgebra formUnion.swift
[54/315] Compiling HashTreeCollections TreeSet+SetAlgebra intersection.swift
[55/315] Compiling HashTreeCollections TreeSet+SetAlgebra isDisjoint.swift
[56/315] Compiling HashTreeCollections TreeSet+SetAlgebra isEqualSet.swift
[57/315] Compiling HashTreeCollections TreeSet+SetAlgebra isStrictSubset.swift
[58/315] Compiling HashTreeCollections _AncestorHashSlots.swift
[59/315] Compiling HashTreeCollections _Bitmap.swift
[60/315] Compiling HashTreeCollections _Bucket.swift
[61/315] Compiling HashTreeCollections _Hash.swift
[62/315] Compiling HashTreeCollections TreeSet+Debugging.swift
[63/315] Compiling HashTreeCollections TreeSet+Descriptions.swift
[64/315] Compiling HashTreeCollections TreeSet+Equatable.swift
[65/315] Compiling HashTreeCollections TreeSet+ExpressibleByArrayLiteral.swift
[66/315] Compiling HashTreeCollections TreeSet+Extras.swift
[67/315] Compiling HashTreeCollections TreeSet+Filter.swift
[68/315] Compiling HashTreeCollections TreeSet+Hashable.swift
[69/315] Compiling HashTreeCollections TreeSet+Sendable.swift
[70/315] Compiling HashTreeCollections TreeSet+Sequence.swift
[71/315] Compiling HashTreeCollections TreeSet+SetAlgebra Initializers.swift
[72/315] Compiling HashTreeCollections _HashNode+Lookups.swift
[73/315] Compiling HashTreeCollections _HashNode+Primitive Insertions.swift
[82/328] Compiling HashTreeCollections _HashNode+Subtree Modify.swift
[83/328] Compiling HashTreeCollections _RawHashNode.swift
[84/328] Compiling HashTreeCollections _UnmanagedHashNode.swift
[85/328] Compiling HashTreeCollections _UnsafePath.swift
[86/328] Compiling HashTreeCollections _HashNode+Primitive Removals.swift
[97/328] Compiling HashTreeCollections TreeDictionary+Codable.swift
[110/328] Compiling HashTreeCollections _HashNode+Structural isEqualSet.swift
[111/328] Compiling HashTreeCollections _HashNode+Structural isSubset.swift
[112/328] Emitting module DequeModule
[119/328] Compiling HashTreeCollections TreeDictionary+Collection.swift
[120/328] Compiling HashTreeCollections TreeDictionary+CustomReflectable.swift
[121/328] Compiling HashTreeCollections TreeDictionary+Debugging.swift
[122/328] Compiling HashTreeCollections TreeDictionary+Descriptions.swift
[123/328] Compiling HashTreeCollections TreeDictionary+Equatable.swift
[124/328] Compiling HashTreeCollections TreeDictionary+Sequence.swift
[125/328] Compiling HashTreeCollections TreeDictionary+Values.swift
[126/328] Compiling HashTreeCollections TreeDictionary.swift
[127/328] Compiling HashTreeCollections TreeSet+Codable.swift
[128/328] Compiling HashTreeCollections TreeSet+Collection.swift
[129/328] Compiling HashTreeCollections TreeSet+CustomReflectable.swift
[143/328] Compiling HashTreeCollections TreeSet+SetAlgebra isStrictSuperset.swift
[144/328] Compiling HashTreeCollections TreeSet+SetAlgebra isSubset.swift
[145/328] Compiling HashTreeCollections TreeSet+SetAlgebra isSuperset.swift
[146/328] Compiling HashTreeCollections TreeSet+SetAlgebra subtract.swift
[147/328] Compiling HashTreeCollections TreeSet+SetAlgebra subtracting.swift
[148/328] Compiling HashTreeCollections TreeSet+SetAlgebra symmetricDifference.swift
[149/328] Compiling HashTreeCollections TreeSet+SetAlgebra union.swift
[150/328] Compiling HashTreeCollections TreeSet.swift
[163/328] Compiling BitCollections BitSet.swift
[164/328] Compiling BitCollections Range+Utilities.swift
[165/328] Compiling BitCollections Slice+Utilities.swift
[166/328] Compiling BitCollections UInt+Tricks.swift
[167/328] Compiling BitCollections _Word.swift
[168/328] Emitting module BitCollections
[175/328] Compiling _RopeModule Rope+Append.swift
[176/328] Compiling _RopeModule Rope+Extract.swift
[177/328] Compiling _RopeModule Rope+Find.swift
[178/328] Compiling _RopeModule Rope+ForEachWhile.swift
[179/328] Compiling _RopeModule Rope+Insert.swift
[180/328] Compiling _RopeModule Rope+Join.swift
[181/328] Compiling _RopeModule Rope+MutatingForEach.swift
[217/335] Compiling OrderedCollections OrderedSet.swift
[218/335] Compiling OrderedCollections _UnsafeBitset.swift
[219/335] Compiling _RopeModule RopeMetric.swift
[268/335] Compiling _RopeModule Rope+Remove.swift
[269/335] Compiling _RopeModule Rope+RemoveSubrange.swift
[270/335] Compiling _RopeModule Rope+Split.swift
[271/335] Compiling _RopeModule Optional Utilities.swift
[272/335] Compiling _RopeModule String Utilities.swift
[273/335] Compiling _RopeModule String.Index+ABI.swift
[274/335] Compiling _RopeModule _CharacterRecognizer.swift
[275/335] Compiling HashTreeCollections _RawHashNode+UnsafeHandle.swift
[276/335] Emitting module OrderedCollections
[277/335] Emitting module _RopeModule
[327/335] Emitting module HashTreeCollections
[336/337] Emitting module Collections
[337/337] Compiling Collections Collections.swift
[338/340] Compiling PID RateLimitPIDController.swift
[339/340] Emitting module PID
[340/340] Compiling PID PIDController.swift
[341/356] Compiling CloudSyncSession WorkMiddleware.swift
[342/356] Compiling CloudSyncSession ZoneMiddleware.swift
[343/356] Compiling CloudSyncSession CKErrorExtensions.swift
[344/356] Compiling CloudSyncSession Middleware.swift
[345/356] Emitting module CloudSyncSession
[346/356] Compiling CloudSyncSession AccountStatusMiddleware.swift
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/Middleware/ErrorMiddleware.swift:59:13: warning: switch must be exhaustive
 57 |             )
 58 |
 59 |             switch ckError.code {
    |             |- warning: switch must be exhaustive
    |             `- note: add missing case: '.participantAlreadyInvited'
 60 |             case .notAuthenticated,
 61 |                  .managedAccountRestricted,
[347/356] Compiling CloudSyncSession ErrorMiddleware.swift
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/Middleware/ErrorMiddleware.swift:59:13: warning: switch must be exhaustive
 57 |             )
 58 |
 59 |             switch ckError.code {
    |             |- warning: switch must be exhaustive
    |             `- note: add missing case: '.participantAlreadyInvited'
 60 |             case .notAuthenticated,
 61 |                  .managedAccountRestricted,
[348/356] Compiling CloudSyncSession SplittingMiddleware.swift
[349/356] Compiling CloudSyncSession SubjectMiddleware.swift
[350/356] Compiling CloudSyncSession CloudKitOperationHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:141:19: warning: 'modifyRecordsCompletionBlock' was deprecated in macOS 12.0: Use modifyRecordsResultBlock instead [#DeprecatedDeclaration]
139 |         )
140 |
141 |         operation.modifyRecordsCompletionBlock = { serverRecords, deletedRecordIDs, error in
    |                   `- warning: 'modifyRecordsCompletionBlock' was deprecated in macOS 12.0: Use modifyRecordsResultBlock instead [#DeprecatedDeclaration]
142 |             if let error = error {
143 |                 self.onOperationError(error)
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:193:19: warning: 'recordChangedBlock' was deprecated in macOS 12.0: Use recordWasChangedBlock instead, which surfaces per-record errors [#DeprecatedDeclaration]
191 |         }
192 |
193 |         operation.recordChangedBlock = { record in
    |                   `- warning: 'recordChangedBlock' was deprecated in macOS 12.0: Use recordWasChangedBlock instead, which surfaces per-record errors [#DeprecatedDeclaration]
194 |             changedRecords.append(record)
195 |         }
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:201:19: warning: 'recordZoneFetchCompletionBlock' was deprecated in macOS 12.0: Use recordZoneFetchResultBlock instead [#DeprecatedDeclaration]
199 |         }
200 |
201 |         operation.recordZoneFetchCompletionBlock = { [weak self] _, newToken, _, newHasMore, _ in
    |                   `- warning: 'recordZoneFetchCompletionBlock' was deprecated in macOS 12.0: Use recordZoneFetchResultBlock instead [#DeprecatedDeclaration]
202 |             guard let self = self else {
203 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:219:19: warning: 'fetchRecordZoneChangesCompletionBlock' was deprecated in macOS 12.0: Use fetchRecordZoneChangesResultBlock instead [#DeprecatedDeclaration]
217 |         }
218 |
219 |         operation.fetchRecordZoneChangesCompletionBlock = { [weak self] error in
    |                   `- warning: 'fetchRecordZoneChangesCompletionBlock' was deprecated in macOS 12.0: Use fetchRecordZoneChangesResultBlock instead [#DeprecatedDeclaration]
220 |             guard let self = self else {
221 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:352:19: warning: 'fetchRecordZonesCompletionBlock' was deprecated in macOS 12.0: Use fetchRecordZonesResultBlock instead [#DeprecatedDeclaration]
350 |         let operation = CKFetchRecordZonesOperation(recordZoneIDs: [zoneID])
351 |
352 |         operation.fetchRecordZonesCompletionBlock = { ids, error in
    |                   `- warning: 'fetchRecordZonesCompletionBlock' was deprecated in macOS 12.0: Use fetchRecordZonesResultBlock instead [#DeprecatedDeclaration]
353 |             if let error = error {
354 |                 os_log(
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:398:19: warning: 'modifyRecordZonesCompletionBlock' was deprecated in macOS 12.0: Use modifyRecordZonesResultBlock instead [#DeprecatedDeclaration]
396 |         )
397 |
398 |         operation.modifyRecordZonesCompletionBlock = { _, _, error in
    |                   `- warning: 'modifyRecordZonesCompletionBlock' was deprecated in macOS 12.0: Use modifyRecordZonesResultBlock instead [#DeprecatedDeclaration]
399 |             if let error = error {
400 |                 os_log(
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:426:19: warning: 'fetchSubscriptionCompletionBlock' was deprecated in macOS 12.0: Use fetchSubscriptionsResultBlock instead [#DeprecatedDeclaration]
424 |         let operation = CKFetchSubscriptionsOperation(subscriptionIDs: [subscriptionID])
425 |
426 |         operation.fetchSubscriptionCompletionBlock = { ids, error in
    |                   `- warning: 'fetchSubscriptionCompletionBlock' was deprecated in macOS 12.0: Use fetchSubscriptionsResultBlock instead [#DeprecatedDeclaration]
427 |             if let error = error {
428 |                 os_log(
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:477:19: warning: 'modifySubscriptionsCompletionBlock' was deprecated in macOS 12.0: Use modifySubscriptionsResultBlock instead [#DeprecatedDeclaration]
475 |         )
476 |
477 |         operation.modifySubscriptionsCompletionBlock = { _, _, error in
    |                   `- warning: 'modifySubscriptionsCompletionBlock' was deprecated in macOS 12.0: Use modifySubscriptionsResultBlock instead [#DeprecatedDeclaration]
478 |             if let error = error {
479 |                 os_log(
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[351/356] Compiling CloudSyncSession CloudSyncSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:141:19: warning: 'modifyRecordsCompletionBlock' was deprecated in macOS 12.0: Use modifyRecordsResultBlock instead [#DeprecatedDeclaration]
139 |         )
140 |
141 |         operation.modifyRecordsCompletionBlock = { serverRecords, deletedRecordIDs, error in
    |                   `- warning: 'modifyRecordsCompletionBlock' was deprecated in macOS 12.0: Use modifyRecordsResultBlock instead [#DeprecatedDeclaration]
142 |             if let error = error {
143 |                 self.onOperationError(error)
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:193:19: warning: 'recordChangedBlock' was deprecated in macOS 12.0: Use recordWasChangedBlock instead, which surfaces per-record errors [#DeprecatedDeclaration]
191 |         }
192 |
193 |         operation.recordChangedBlock = { record in
    |                   `- warning: 'recordChangedBlock' was deprecated in macOS 12.0: Use recordWasChangedBlock instead, which surfaces per-record errors [#DeprecatedDeclaration]
194 |             changedRecords.append(record)
195 |         }
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:201:19: warning: 'recordZoneFetchCompletionBlock' was deprecated in macOS 12.0: Use recordZoneFetchResultBlock instead [#DeprecatedDeclaration]
199 |         }
200 |
201 |         operation.recordZoneFetchCompletionBlock = { [weak self] _, newToken, _, newHasMore, _ in
    |                   `- warning: 'recordZoneFetchCompletionBlock' was deprecated in macOS 12.0: Use recordZoneFetchResultBlock instead [#DeprecatedDeclaration]
202 |             guard let self = self else {
203 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:219:19: warning: 'fetchRecordZoneChangesCompletionBlock' was deprecated in macOS 12.0: Use fetchRecordZoneChangesResultBlock instead [#DeprecatedDeclaration]
217 |         }
218 |
219 |         operation.fetchRecordZoneChangesCompletionBlock = { [weak self] error in
    |                   `- warning: 'fetchRecordZoneChangesCompletionBlock' was deprecated in macOS 12.0: Use fetchRecordZoneChangesResultBlock instead [#DeprecatedDeclaration]
220 |             guard let self = self else {
221 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:352:19: warning: 'fetchRecordZonesCompletionBlock' was deprecated in macOS 12.0: Use fetchRecordZonesResultBlock instead [#DeprecatedDeclaration]
350 |         let operation = CKFetchRecordZonesOperation(recordZoneIDs: [zoneID])
351 |
352 |         operation.fetchRecordZonesCompletionBlock = { ids, error in
    |                   `- warning: 'fetchRecordZonesCompletionBlock' was deprecated in macOS 12.0: Use fetchRecordZonesResultBlock instead [#DeprecatedDeclaration]
353 |             if let error = error {
354 |                 os_log(
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:398:19: warning: 'modifyRecordZonesCompletionBlock' was deprecated in macOS 12.0: Use modifyRecordZonesResultBlock instead [#DeprecatedDeclaration]
396 |         )
397 |
398 |         operation.modifyRecordZonesCompletionBlock = { _, _, error in
    |                   `- warning: 'modifyRecordZonesCompletionBlock' was deprecated in macOS 12.0: Use modifyRecordZonesResultBlock instead [#DeprecatedDeclaration]
399 |             if let error = error {
400 |                 os_log(
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:426:19: warning: 'fetchSubscriptionCompletionBlock' was deprecated in macOS 12.0: Use fetchSubscriptionsResultBlock instead [#DeprecatedDeclaration]
424 |         let operation = CKFetchSubscriptionsOperation(subscriptionIDs: [subscriptionID])
425 |
426 |         operation.fetchSubscriptionCompletionBlock = { ids, error in
    |                   `- warning: 'fetchSubscriptionCompletionBlock' was deprecated in macOS 12.0: Use fetchSubscriptionsResultBlock instead [#DeprecatedDeclaration]
427 |             if let error = error {
428 |                 os_log(
/Users/admin/builder/spi-builder-workspace/Sources/CloudSyncSession/CloudKitOperationHandler.swift:477:19: warning: 'modifySubscriptionsCompletionBlock' was deprecated in macOS 12.0: Use modifySubscriptionsResultBlock instead [#DeprecatedDeclaration]
475 |         )
476 |
477 |         operation.modifySubscriptionsCompletionBlock = { _, _, error in
    |                   `- warning: 'modifySubscriptionsCompletionBlock' was deprecated in macOS 12.0: Use modifySubscriptionsResultBlock instead [#DeprecatedDeclaration]
478 |             if let error = error {
479 |                 os_log(
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[352/356] Compiling CloudSyncSession LoggerMiddleware.swift
[353/356] Compiling CloudSyncSession RetryMiddleware.swift
[354/356] Compiling CloudSyncSession OperationHandler.swift
[355/356] Compiling CloudSyncSession SyncEvent.swift
[356/356] Compiling CloudSyncSession SyncState.swift
[357/357] Compiling CloudSyncSession SyncWork.swift
Build complete! (14.79s)
Fetching https://github.com/ryanashcraft/swift-pid.git
[1/46] Fetching swift-pid
Fetched https://github.com/ryanashcraft/swift-pid.git from cache (0.58s)
Computing version for https://github.com/ryanashcraft/swift-pid.git
Computed https://github.com/ryanashcraft/swift-pid.git at 0.0.3 (1.02s)
Fetching https://github.com/apple/swift-collections.git
[1/16640] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git from cache (1.75s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.2.0 (2.26s)
Creating working copy for https://github.com/ryanashcraft/swift-pid.git
Working copy of https://github.com/ryanashcraft/swift-pid.git resolved at 0.0.3
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.2.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-pid",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.0.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ryanashcraft/swift-pid.git"
    }
  ],
  "manifest_display_name" : "CloudSyncSession",
  "name" : "CloudSyncSession",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "CloudSyncSession",
      "targets" : [
        "CloudSyncSession"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CloudSyncSessionTests",
      "module_type" : "SwiftTarget",
      "name" : "CloudSyncSessionTests",
      "path" : "Tests/CloudSyncSessionTests",
      "sources" : [
        "CloudSyncSessionTests.swift",
        "SyncStateTests.swift"
      ],
      "target_dependencies" : [
        "CloudSyncSession"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CloudSyncSession",
      "module_type" : "SwiftTarget",
      "name" : "CloudSyncSession",
      "path" : "Sources/CloudSyncSession",
      "product_dependencies" : [
        "PID"
      ],
      "product_memberships" : [
        "CloudSyncSession"
      ],
      "sources" : [
        "CloudKitOperationHandler.swift",
        "CloudSyncSession.swift",
        "Extensions/CKErrorExtensions.swift",
        "Middleware.swift",
        "Middleware/AccountStatusMiddleware.swift",
        "Middleware/ErrorMiddleware.swift",
        "Middleware/LoggerMiddleware.swift",
        "Middleware/RetryMiddleware.swift",
        "Middleware/SplittingMiddleware.swift",
        "Middleware/SubjectMiddleware.swift",
        "Middleware/WorkMiddleware.swift",
        "Middleware/ZoneMiddleware.swift",
        "OperationHandler.swift",
        "SyncEvent.swift",
        "SyncState.swift",
        "SyncWork.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.