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 Request, reference v2.3.2 (a69983), with Swift 6.1 for macOS (SPM) on 27 Apr 2025 00:48:07 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.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.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/josercc/Request.git
Reference: v2.3.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/josercc/Request
 * tag               v2.3.2     -> FETCH_HEAD
HEAD is now at a69983d 修复可以支持最低部署版本
Cloned https://github.com/josercc/Request.git
Revision (git rev-parse @):
a69983df5b59bd10bfcf0ddb36f1297dcbdc8bcc
SUCCESS checkout https://github.com/josercc/Request.git at v2.3.2
Fetching https://github.com/Pircate/CleanJSON.git
Fetching https://github.com/Alamofire/Alamofire.git
[1/1901] Fetching cleanjson
[344/32038] Fetching cleanjson, alamofire
Fetched https://github.com/Pircate/CleanJSON.git from cache (2.43s)
Fetched https://github.com/Alamofire/Alamofire.git from cache (2.43s)
Computing version for https://github.com/Pircate/CleanJSON.git
Computed https://github.com/Pircate/CleanJSON.git at 1.0.9 (3.07s)
Computing version for https://github.com/Alamofire/Alamofire.git
Computed https://github.com/Alamofire/Alamofire.git at 5.10.2 (0.52s)
Creating working copy for https://github.com/Alamofire/Alamofire.git
Working copy of https://github.com/Alamofire/Alamofire.git resolved at 5.10.2
Creating working copy for https://github.com/Pircate/CleanJSON.git
Working copy of https://github.com/Pircate/CleanJSON.git resolved at 1.0.9
========================================
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": "request",
      "name": "Request",
      "url": "https://github.com/josercc/Request.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Request",
      "dependencies": [
        {
          "identity": "alamofire",
          "name": "Alamofire",
          "url": "https://github.com/Alamofire/Alamofire.git",
          "version": "5.10.2",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Alamofire",
          "dependencies": [
          ]
        },
        {
          "identity": "cleanjson",
          "name": "CleanJSON",
          "url": "https://github.com/Pircate/CleanJSON.git",
          "version": "1.0.9",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CleanJSON",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/josercc/Request.git
[1/133] Fetching request
Fetched https://github.com/josercc/Request.git from cache (0.63s)
Fetching https://github.com/Alamofire/Alamofire.git from cache
Fetching https://github.com/Pircate/CleanJSON.git from cache
Fetched https://github.com/Alamofire/Alamofire.git from cache (0.60s)
Fetched https://github.com/Pircate/CleanJSON.git from cache (0.60s)
Computing version for https://github.com/Pircate/CleanJSON.git
Computed https://github.com/Pircate/CleanJSON.git at 1.0.9 (0.66s)
Computing version for https://github.com/Alamofire/Alamofire.git
Computed https://github.com/Alamofire/Alamofire.git at 5.10.2 (0.04s)
Creating working copy for https://github.com/josercc/Request.git
Working copy of https://github.com/josercc/Request.git resolved at v2.3.2 (a69983d)
Creating working copy for https://github.com/Pircate/CleanJSON.git
Working copy of https://github.com/Pircate/CleanJSON.git resolved at 1.0.9
Creating working copy for https://github.com/Alamofire/Alamofire.git
Working copy of https://github.com/Alamofire/Alamofire.git resolved at 5.10.2
warning: '.resolve-product-dependencies': dependency 'request' is not used by any target
Found 2 product dependencies
  - Alamofire
  - CleanJSON
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/josercc/Request.git
https://github.com/josercc/Request.git
{
  "dependencies" : [
    {
      "identity" : "alamofire",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.0.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Alamofire/Alamofire.git"
    },
    {
      "identity" : "cleanjson",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Pircate/CleanJSON.git"
    }
  ],
  "manifest_display_name" : "Request",
  "name" : "Request",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "macos",
      "version" : "10.12"
    }
  ],
  "products" : [
    {
      "name" : "Request",
      "targets" : [
        "Request"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "RequestTests",
      "module_type" : "SwiftTarget",
      "name" : "RequestTests",
      "path" : "Tests/RequestTests",
      "sources" : [
        "RequestTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "Request"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Request",
      "module_type" : "SwiftTarget",
      "name" : "Request",
      "path" : "Sources/Request",
      "product_dependencies" : [
        "Alamofire",
        "CleanJSON"
      ],
      "product_memberships" : [
        "Request"
      ],
      "sources" : [
        "APIConfig.swift",
        "Encodable+ToDictionary.swift",
        "Model.swift",
        "Request.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.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/5] Write sources
[1/5] Copying PrivacyInfo.xcprivacy
[3/5] Write sources
[4/5] Write swift-version-2F0A5646E1D333AE.txt
[6/62] Emitting module Alamofire
[7/66] Compiling Alamofire EventMonitor.swift
[8/66] Compiling Alamofire HTTPHeaders.swift
[9/66] Compiling Alamofire Alamofire.swift
[10/66] Compiling Alamofire AFError.swift
[11/66] Compiling Alamofire Combine.swift
[12/66] Compiling Alamofire Concurrency.swift
[13/66] Compiling Alamofire DataRequest.swift
[14/66] Compiling Alamofire DataStreamRequest.swift
[15/67] Compiling Alamofire SessionDelegate.swift
[16/67] Compiling Alamofire URLConvertible+URLRequestConvertible.swift
[17/67] Compiling Alamofire UploadRequest.swift
[18/67] Compiling Alamofire WebSocketRequest.swift
[19/67] Compiling Alamofire RequestCompression.swift
[20/67] Compiling Alamofire RequestInterceptor.swift
[21/67] Compiling Alamofire ResponseSerialization.swift
[22/67] Compiling Alamofire RetryPolicy.swift
[23/67] Compiling CleanJSON _CleanJSONDecoder+SingleValueDecodingContainer.swift
[24/67] Compiling Alamofire HTTPMethod.swift
[25/67] Compiling Alamofire Notifications.swift
[26/67] Compiling CleanJSON _CleanJSONDecoder+Unbox.swift
[27/67] Compiling Alamofire ParameterEncoder.swift
[28/67] Compiling Alamofire ParameterEncoding.swift
[29/67] Emitting module CleanJSON
[30/67] Compiling Alamofire DownloadRequest.swift
[31/67] Compiling Alamofire CachedResponseHandler.swift
[32/67] Compiling Alamofire URLRequest+Alamofire.swift
[33/67] Compiling Alamofire URLSessionConfiguration+Alamofire.swift
[34/67] Compiling Alamofire AlamofireExtended.swift
[35/67] Compiling Alamofire AuthenticationInterceptor.swift
[36/67] Compiling Alamofire DispatchQueue+Alamofire.swift
[37/67] Compiling Alamofire OperationQueue+Alamofire.swift
[38/67] Compiling Alamofire Result+Alamofire.swift
[39/67] Compiling Alamofire StringEncoding+Alamofire.swift
[40/67] Compiling Alamofire MultipartFormData.swift
[41/67] Compiling Alamofire MultipartUpload.swift
[42/67] Compiling Alamofire NetworkReachabilityManager.swift
[43/67] Compiling Alamofire RedirectHandler.swift
[44/67] Compiling Alamofire Protected.swift
[45/67] Compiling Alamofire Request.swift
[46/67] Compiling Alamofire RequestTaskMap.swift
[47/67] Compiling Alamofire Response.swift
[48/67] Compiling Alamofire Session.swift
[63/67] Compiling Alamofire ServerTrustEvaluation.swift
[64/67] Compiling Alamofire URLEncodedFormEncoder.swift
[65/67] Compiling Alamofire Validation.swift
[66/67] Compiling Alamofire resource_bundle_accessor.swift
[67/67] Compiling CleanJSON _CleanJSONDecoder.swift
[68/72] Compiling Request Model.swift
[69/72] Compiling Request Encodable+ToDictionary.swift
[70/72] Compiling Request APIConfig.swift
[71/72] Compiling Request Request.swift
/Users/admin/builder/spi-builder-workspace/Sources/Request/Request.swift:111:39: warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
109 |         AF.request("\(url)\(config.path)",
110 |                    method: config.method,
111 |                    parameters: config.parameters,
    |                                       `- warning: type 'Any' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
112 |                    encoding: encoding,
113 |                    headers: headers)
/Users/admin/builder/spi-builder-workspace/Sources/Request/Request.swift:116:57: warning: capture of 'config' with non-sendable type 'A' in a '@Sendable' closure
 75 |     /// - Parameter success: 发起请求成功的回掉
 76 |     /// - Parameter failure: 发起请求失败的回掉
 77 |     public static func request<M:Model, A:APIConfig>(type:M.Type,
    |                                         `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
 78 |                                                      config:A,
 79 |                                                      success:RequestSuccessHandle<M>?,
    :
114 |             .responseString {didReviceResponse(type: type,
115 |                                                response: $0,
116 |                                                decoder: config.decoder,
    |                                                         `- warning: capture of 'config' with non-sendable type 'A' in a '@Sendable' closure
117 |                                                success: success,
118 |                                                failure: failure)}
/Users/admin/builder/spi-builder-workspace/Sources/Request/Request.swift:117:57: warning: capture of 'success' with non-sendable type 'Self.RequestSuccessHandle<M>?' (aka 'Optional<(M) -> ()>') in a '@Sendable' closure
115 |                                                response: $0,
116 |                                                decoder: config.decoder,
117 |                                                success: success,
    |                                                         |- warning: capture of 'success' with non-sendable type 'Self.RequestSuccessHandle<M>?' (aka 'Optional<(M) -> ()>') in a '@Sendable' closure
    |                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
118 |                                                failure: failure)}
119 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Request/Request.swift:118:57: warning: capture of 'failure' with non-sendable type 'Self.RequestFailureHandle?' (aka 'Optional<(Int, String) -> ()>') in a '@Sendable' closure
116 |                                                decoder: config.decoder,
117 |                                                success: success,
118 |                                                failure: failure)}
    |                                                         |- warning: capture of 'failure' with non-sendable type 'Self.RequestFailureHandle?' (aka 'Optional<(Int, String) -> ()>') in a '@Sendable' closure
    |                                                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
119 |     }
120 |
/Users/admin/builder/spi-builder-workspace/Sources/Request/Request.swift:187:56: warning: capture of 'config' with non-sendable type 'A' in a '@Sendable' closure
141 |     /// - Parameter success: 上传成功的回掉
142 |     /// - Parameter failure: 上传失败的回掉
143 |     public static func uploadFile<M:Model, A:APIConfig>(type:M.Type,
    |                                            `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
144 |                                                         config:A,
145 |                                                         fileData:Data,
    :
185 |             .responseString{didReviceResponse(type: type,
186 |                                               response: $0,
187 |                                               decoder: config.decoder,
    |                                                        `- warning: capture of 'config' with non-sendable type 'A' in a '@Sendable' closure
188 |                                               success: success,
189 |                                               failure: failure)}
/Users/admin/builder/spi-builder-workspace/Sources/Request/Request.swift:188:56: warning: capture of 'success' with non-sendable type 'Self.RequestSuccessHandle<M>?' (aka 'Optional<(M) -> ()>') in a '@Sendable' closure
186 |                                               response: $0,
187 |                                               decoder: config.decoder,
188 |                                               success: success,
    |                                                        |- warning: capture of 'success' with non-sendable type 'Self.RequestSuccessHandle<M>?' (aka 'Optional<(M) -> ()>') in a '@Sendable' closure
    |                                                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
189 |                                               failure: failure)}
190 |             .uploadProgress {config.uploadProgress?($0)}
/Users/admin/builder/spi-builder-workspace/Sources/Request/Request.swift:189:56: warning: capture of 'failure' with non-sendable type 'Self.RequestFailureHandle?' (aka 'Optional<(Int, String) -> ()>') in a '@Sendable' closure
187 |                                               decoder: config.decoder,
188 |                                               success: success,
189 |                                               failure: failure)}
    |                                                        |- warning: capture of 'failure' with non-sendable type 'Self.RequestFailureHandle?' (aka 'Optional<(Int, String) -> ()>') in a '@Sendable' closure
    |                                                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
190 |             .uploadProgress {config.uploadProgress?($0)}
191 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Request/Request.swift:190:30: warning: capture of 'config' with non-sendable type 'A' in a '@Sendable' closure
141 |     /// - Parameter success: 上传成功的回掉
142 |     /// - Parameter failure: 上传失败的回掉
143 |     public static func uploadFile<M:Model, A:APIConfig>(type:M.Type,
    |                                            `- note: consider making generic parameter 'A' conform to the 'Sendable' protocol
144 |                                                         config:A,
145 |                                                         fileData:Data,
    :
188 |                                               success: success,
189 |                                               failure: failure)}
190 |             .uploadProgress {config.uploadProgress?($0)}
    |                              `- warning: capture of 'config' with non-sendable type 'A' in a '@Sendable' closure
191 |     }
192 |
/Users/admin/builder/spi-builder-workspace/Sources/Request/Request.swift:62:30: warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
 60 |         try await withCheckedThrowingContinuation({ continuation in
 61 |             request(type: type, config: config, success: { model in
 62 |                 continuation.resume(returning: model)
    |                              |- warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'model' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 63 |             }, failure: { code, message in
 64 |                 continuation.resume(throwing: NSError(domain: message,
/Users/admin/builder/spi-builder-workspace/Sources/Request/Request.swift:128:30: warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
126 |         try await withCheckedThrowingContinuation({ continuation in
127 |             uploadFile(type: type, config: config, fileData: fileData, success: { model in
128 |                 continuation.resume(returning: model)
    |                              |- warning: sending 'model' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'model' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
129 |             }, failure: { code, message in
130 |                 continuation.resume(throwing: NSError(domain: message,
[72/72] Emitting module Request
Build complete! (7.28s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "alamofire",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.0.0",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Alamofire/Alamofire.git"
    },
    {
      "identity" : "cleanjson",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Pircate/CleanJSON.git"
    }
  ],
  "manifest_display_name" : "Request",
  "name" : "Request",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "macos",
      "version" : "10.12"
    }
  ],
  "products" : [
    {
      "name" : "Request",
      "targets" : [
        "Request"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "RequestTests",
      "module_type" : "SwiftTarget",
      "name" : "RequestTests",
      "path" : "Tests/RequestTests",
      "sources" : [
        "RequestTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "Request"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Request",
      "module_type" : "SwiftTarget",
      "name" : "Request",
      "path" : "Sources/Request",
      "product_dependencies" : [
        "Alamofire",
        "CleanJSON"
      ],
      "product_memberships" : [
        "Request"
      ],
      "sources" : [
        "APIConfig.swift",
        "Encodable+ToDictionary.swift",
        "Model.swift",
        "Request.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Done.