This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of URLSessionBackport with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 2

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mochidev/URLSessionBackport.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/mochidev/URLSessionBackport
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 133026d Removed the last preconditionFailure
Cloned https://github.com/mochidev/URLSessionBackport.git
Revision (git rev-parse @):
133026d8723a81d7ddd293ce3d9fcadf72317517
SUCCESS checkout https://github.com/mochidev/URLSessionBackport.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/mochidev/URLSessionBackport.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/8] Compiling URLSessionBackport AsyncBytes.swift
[4/8] Compiling URLSessionBackport URLSessionBackport.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/URLSessionBackport.swift:124:88: warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
122 |         } else {
123 |             return try await withUnsafeThrowingContinuation { continuation in
124 |                 resume(session.dataTask(with: request, completionHandler: continuation.taskCompletionHandler), with: delegate)
    |                                                                                        `- warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
125 |             }
126 |         }
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/URLSessionBackport.swift:139:84: warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
137 |         } else {
138 |             return try await withUnsafeThrowingContinuation { continuation in
139 |                 resume(session.dataTask(with: url, completionHandler: continuation.taskCompletionHandler), with: delegate)
    |                                                                                    `- warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
140 |             }
141 |         }
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/URLSessionBackport.swift:155:109: warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
153 |         } else {
154 |             return try await withUnsafeThrowingContinuation { continuation in
155 |                 resume(session.uploadTask(with: request, fromFile: fileURL, completionHandler: continuation.taskCompletionHandler), with: delegate)
    |                                                                                                             `- warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
156 |             }
157 |         }
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/URLSessionBackport.swift:171:106: warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
169 |         } else {
170 |             return try await withUnsafeThrowingContinuation { continuation in
171 |                 resume(session.uploadTask(with: request, from: bodyData, completionHandler: continuation.taskCompletionHandler), with: delegate)
    |                                                                                                          `- warning: converting non-sendable function value to '@Sendable (Data?, URLResponse?, (any Error)?) -> Void' may introduce data races
172 |             }
173 |         }
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/URLSessionBackport.swift:186:92: warning: converting non-sendable function value to '@Sendable (URL?, URLResponse?, (any Error)?) -> Void' may introduce data races
184 |         } else {
185 |             return try await withUnsafeThrowingContinuation { continuation in
186 |                 resume(session.downloadTask(with: request, completionHandler: continuation.taskCompletionHandler), with: delegate)
    |                                                                                            `- warning: converting non-sendable function value to '@Sendable (URL?, URLResponse?, (any Error)?) -> Void' may introduce data races
187 |             }
188 |         }
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/URLSessionBackport.swift:201:88: warning: converting non-sendable function value to '@Sendable (URL?, URLResponse?, (any Error)?) -> Void' may introduce data races
199 |         } else {
200 |             return try await withUnsafeThrowingContinuation { continuation in
201 |                 resume(session.downloadTask(with: url, completionHandler: continuation.taskCompletionHandler), with: delegate)
    |                                                                                        `- warning: converting non-sendable function value to '@Sendable (URL?, URLResponse?, (any Error)?) -> Void' may introduce data races
202 |             }
203 |         }
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/URLSessionBackport.swift:216:105: warning: converting non-sendable function value to '@Sendable (URL?, URLResponse?, (any Error)?) -> Void' may introduce data races
214 |         } else {
215 |             return try await withUnsafeThrowingContinuation { continuation in
216 |                 resume(session.downloadTask(withResumeData: resumeData, completionHandler: continuation.taskCompletionHandler), with: delegate)
    |                                                                                                         `- warning: converting non-sendable function value to '@Sendable (URL?, URLResponse?, (any Error)?) -> Void' may introduce data races
217 |             }
218 |         }
[5/8] Compiling URLSessionBackport SessionDelegateProxy.swift
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:15:7: warning: non-final class 'SessionDelegateProxy' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 13 | ///
 14 | /// This class forwards all delegate methods supported pre iOS15/macOS 12 to both the underlying session delegate and any assigned task delegates, consisting of the majority of the backporting work.
 15 | class SessionDelegateProxy: NSObject {
    |       `- warning: non-final class 'SessionDelegateProxy' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 16 |     var originalDelegate: URLSessionDelegate?
 17 |     var taskMap: [Int : TaskDelegateHandler] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:16:9: warning: stored property 'originalDelegate' of 'Sendable'-conforming class 'SessionDelegateProxy' is mutable; this is an error in the Swift 6 language mode
 14 | /// This class forwards all delegate methods supported pre iOS15/macOS 12 to both the underlying session delegate and any assigned task delegates, consisting of the majority of the backporting work.
 15 | class SessionDelegateProxy: NSObject {
 16 |     var originalDelegate: URLSessionDelegate?
    |         `- warning: stored property 'originalDelegate' of 'Sendable'-conforming class 'SessionDelegateProxy' is mutable; this is an error in the Swift 6 language mode
 17 |     var taskMap: [Int : TaskDelegateHandler] = [:]
 18 |
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:61:48: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
 57 |     }
 58 |
 59 |     func urlSession(_ session: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                                                                                              `- note: parameter 'completionHandler' is implicitly non-sendable
 60 |         if let delegateMethod = originalDelegate?.urlSession(_:didReceive:completionHandler:) {
 61 |             delegateMethod(session, challenge, completionHandler)
    |                                                `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
 62 |         } else {
 63 |             completionHandler(.performDefaultHandling, nil)
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:80:56: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
 76 |     var originalTaskDelegate: URLSessionTaskDelegate? { originalDelegate as? URLSessionTaskDelegate }
 77 |
 78 |     func urlSession(_ session: URLSession, task: URLSessionTask, willBeginDelayedRequest request: URLRequest, completionHandler: @escaping (URLSession.DelayedRequestDisposition, URLRequest?) -> Void) {
    |                                                                                                               `- note: parameter 'completionHandler' is implicitly non-sendable
 79 |         if let taskDelegateMethod = taskMap[task.taskIdentifier]?.delegate?.urlSession(_:task:willBeginDelayedRequest:completionHandler:) {
 80 |             taskDelegateMethod(session, task, request, completionHandler)
    |                                                        `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
 81 |         } else if let delegateMethod = originalTaskDelegate?.urlSession(_:task:willBeginDelayedRequest:completionHandler:) {
 82 |             delegateMethod(session, task, request, completionHandler)
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:82:52: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
 76 |     var originalTaskDelegate: URLSessionTaskDelegate? { originalDelegate as? URLSessionTaskDelegate }
 77 |
 78 |     func urlSession(_ session: URLSession, task: URLSessionTask, willBeginDelayedRequest request: URLRequest, completionHandler: @escaping (URLSession.DelayedRequestDisposition, URLRequest?) -> Void) {
    |                                                                                                               `- note: parameter 'completionHandler' is implicitly non-sendable
 79 |         if let taskDelegateMethod = taskMap[task.taskIdentifier]?.delegate?.urlSession(_:task:willBeginDelayedRequest:completionHandler:) {
 80 |             taskDelegateMethod(session, task, request, completionHandler)
 81 |         } else if let delegateMethod = originalTaskDelegate?.urlSession(_:task:willBeginDelayedRequest:completionHandler:) {
 82 |             delegateMethod(session, task, request, completionHandler)
    |                                                    `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
 83 |         } else {
 84 |             completionHandler(.continueLoading, nil)
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:95:66: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
 91 |     }
 92 |
 93 |     func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse, newRequest request: URLRequest, completionHandler: @escaping (URLRequest?) -> Void) {
    |                                                                                                                                                        `- note: parameter 'completionHandler' is implicitly non-sendable
 94 |         if let taskDelegateMethod = taskMap[task.taskIdentifier]?.delegate?.urlSession(_:task:willPerformHTTPRedirection:newRequest:completionHandler:) {
 95 |             taskDelegateMethod(session, task, response, request, completionHandler)
    |                                                                  `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
 96 |         } else if let delegateMethod = originalTaskDelegate?.urlSession(_:task:willPerformHTTPRedirection:newRequest:completionHandler:) {
 97 |             delegateMethod(session, task, response, request, completionHandler)
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:97:62: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
 91 |     }
 92 |
 93 |     func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse, newRequest request: URLRequest, completionHandler: @escaping (URLRequest?) -> Void) {
    |                                                                                                                                                        `- note: parameter 'completionHandler' is implicitly non-sendable
 94 |         if let taskDelegateMethod = taskMap[task.taskIdentifier]?.delegate?.urlSession(_:task:willPerformHTTPRedirection:newRequest:completionHandler:) {
 95 |             taskDelegateMethod(session, task, response, request, completionHandler)
 96 |         } else if let delegateMethod = originalTaskDelegate?.urlSession(_:task:willPerformHTTPRedirection:newRequest:completionHandler:) {
 97 |             delegateMethod(session, task, response, request, completionHandler)
    |                                                              `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
 98 |         } else {
 99 |             completionHandler(request)
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:105:58: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
101 |     }
102 |
103 |     func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                                                                                                                    `- note: parameter 'completionHandler' is implicitly non-sendable
104 |         if let taskDelegateMethod = taskMap[task.taskIdentifier]?.delegate?.urlSession(_:task:didReceive:completionHandler:) {
105 |             taskDelegateMethod(session, task, challenge, completionHandler)
    |                                                          `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
106 |         } else if let delegateMethod = originalTaskDelegate?.urlSession(_:task:didReceive:completionHandler:) {
107 |             delegateMethod(session, task, challenge, completionHandler)
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:107:54: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
101 |     }
102 |
103 |     func urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                                                                                                                    `- note: parameter 'completionHandler' is implicitly non-sendable
104 |         if let taskDelegateMethod = taskMap[task.taskIdentifier]?.delegate?.urlSession(_:task:didReceive:completionHandler:) {
105 |             taskDelegateMethod(session, task, challenge, completionHandler)
106 |         } else if let delegateMethod = originalTaskDelegate?.urlSession(_:task:didReceive:completionHandler:) {
107 |             delegateMethod(session, task, challenge, completionHandler)
    |                                                      `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
108 |         } else {
109 |             completionHandler(.performDefaultHandling, nil)
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:115:47: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
111 |     }
112 |
113 |     func urlSession(_ session: URLSession, task: URLSessionTask, needNewBodyStream completionHandler: @escaping (InputStream?) -> Void) {
    |                                                                                    `- note: parameter 'completionHandler' is implicitly non-sendable
114 |         if let taskDelegateMethod = taskMap[task.taskIdentifier]?.delegate?.urlSession(_:task:needNewBodyStream:) {
115 |             taskDelegateMethod(session, task, completionHandler)
    |                                               `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
116 |         } else if let delegateMethod = originalTaskDelegate?.urlSession(_:task:needNewBodyStream:) {
117 |             delegateMethod(session, task, completionHandler)
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:117:43: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
111 |     }
112 |
113 |     func urlSession(_ session: URLSession, task: URLSessionTask, needNewBodyStream completionHandler: @escaping (InputStream?) -> Void) {
    |                                                                                    `- note: parameter 'completionHandler' is implicitly non-sendable
114 |         if let taskDelegateMethod = taskMap[task.taskIdentifier]?.delegate?.urlSession(_:task:needNewBodyStream:) {
115 |             taskDelegateMethod(session, task, completionHandler)
116 |         } else if let delegateMethod = originalTaskDelegate?.urlSession(_:task:needNewBodyStream:) {
117 |             delegateMethod(session, task, completionHandler)
    |                                           `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
118 |         } else {
119 |             completionHandler(nil)
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:169:61: warning: converting non-sendable function value to '@Sendable (URLSession.ResponseDisposition) -> Void' may introduce data races
167 |
168 |         if let taskDelegateMethod = taskDelegate?.dataDelegate?.urlSession(_:dataTask:didReceive:completionHandler:) {
169 |             taskDelegateMethod(session, dataTask, response, verifyDisposition)
    |                                                             `- warning: converting non-sendable function value to '@Sendable (URLSession.ResponseDisposition) -> Void' may introduce data races
170 |         } else if let delegateMethod = originalDataDelegate?.urlSession(_:dataTask:didReceive:completionHandler:) {
171 |             delegateMethod(session, dataTask, response, verifyDisposition)
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:171:57: warning: converting non-sendable function value to '@Sendable (URLSession.ResponseDisposition) -> Void' may introduce data races
169 |             taskDelegateMethod(session, dataTask, response, verifyDisposition)
170 |         } else if let delegateMethod = originalDataDelegate?.urlSession(_:dataTask:didReceive:completionHandler:) {
171 |             delegateMethod(session, dataTask, response, verifyDisposition)
    |                                                         `- warning: converting non-sendable function value to '@Sendable (URLSession.ResponseDisposition) -> Void' may introduce data races
172 |         } else {
173 |             verifyDisposition(.allow)
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:199:69: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
195 |     }
196 |
197 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, willCacheResponse proposedResponse: CachedURLResponse, completionHandler: @escaping (CachedURLResponse?) -> Void) {
    |                                                                                                                                 `- note: parameter 'completionHandler' is implicitly non-sendable
198 |         if let taskDelegateMethod = taskMap[dataTask.taskIdentifier]?.dataDelegate?.urlSession(_:dataTask:willCacheResponse:completionHandler:) {
199 |             taskDelegateMethod(session, dataTask, proposedResponse, completionHandler)
    |                                                                     `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
200 |         } else if let delegateMethod = originalDataDelegate?.urlSession(_:dataTask:willCacheResponse:completionHandler:) {
201 |             delegateMethod(session, dataTask, proposedResponse, completionHandler)
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:201:65: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
195 |     }
196 |
197 |     func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, willCacheResponse proposedResponse: CachedURLResponse, completionHandler: @escaping (CachedURLResponse?) -> Void) {
    |                                                                                                                                 `- note: parameter 'completionHandler' is implicitly non-sendable
198 |         if let taskDelegateMethod = taskMap[dataTask.taskIdentifier]?.dataDelegate?.urlSession(_:dataTask:willCacheResponse:completionHandler:) {
199 |             taskDelegateMethod(session, dataTask, proposedResponse, completionHandler)
200 |         } else if let delegateMethod = originalDataDelegate?.urlSession(_:dataTask:willCacheResponse:completionHandler:) {
201 |             delegateMethod(session, dataTask, proposedResponse, completionHandler)
    |                                                                 `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
202 |         } else {
203 |             completionHandler(proposedResponse)
[6/8] Compiling URLSessionBackport TaskDelegateHandler.swift
[7/8] Emitting module URLSessionBackport
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:15:7: warning: non-final class 'SessionDelegateProxy' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 13 | ///
 14 | /// This class forwards all delegate methods supported pre iOS15/macOS 12 to both the underlying session delegate and any assigned task delegates, consisting of the majority of the backporting work.
 15 | class SessionDelegateProxy: NSObject {
    |       `- warning: non-final class 'SessionDelegateProxy' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
 16 |     var originalDelegate: URLSessionDelegate?
 17 |     var taskMap: [Int : TaskDelegateHandler] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/URLSessionBackport/SessionDelegateProxy.swift:16:9: warning: stored property 'originalDelegate' of 'Sendable'-conforming class 'SessionDelegateProxy' is mutable; this is an error in the Swift 6 language mode
 14 | /// This class forwards all delegate methods supported pre iOS15/macOS 12 to both the underlying session delegate and any assigned task delegates, consisting of the majority of the backporting work.
 15 | class SessionDelegateProxy: NSObject {
 16 |     var originalDelegate: URLSessionDelegate?
    |         `- warning: stored property 'originalDelegate' of 'Sendable'-conforming class 'SessionDelegateProxy' is mutable; this is an error in the Swift 6 language mode
 17 |     var taskMap: [Int : TaskDelegateHandler] = [:]
 18 |
[8/8] Compiling URLSessionBackport DataAccumulator.swift
Build complete! (17.96s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "URLSessionBackport",
  "name" : "URLSessionBackport",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "URLSessionBackport",
      "targets" : [
        "URLSessionBackport"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "URLSessionBackportTests",
      "module_type" : "SwiftTarget",
      "name" : "URLSessionBackportTests",
      "path" : "Tests/URLSessionBackportTests",
      "sources" : [
        "URLSessionBackportTests.swift"
      ],
      "target_dependencies" : [
        "URLSessionBackport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "URLSessionBackport",
      "module_type" : "SwiftTarget",
      "name" : "URLSessionBackport",
      "path" : "Sources/URLSessionBackport",
      "product_memberships" : [
        "URLSessionBackport"
      ],
      "sources" : [
        "AsyncBytes.swift",
        "DataAccumulator.swift",
        "SessionDelegateProxy.swift",
        "TaskDelegateHandler.swift",
        "URLSessionBackport.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.