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 SwiftCloudant, reference 0.9.0 (928748), with Swift 6.0 for macOS (SPM) on 31 Oct 2024 19:01:18 UTC.

Swift 6 data race errors: 2

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/cloudant/swift-cloudant.git
Reference: 0.9.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/cloudant/swift-cloudant
 * tag               0.9.0      -> FETCH_HEAD
HEAD is now at 928748f Merge pull request #188 from cloudant/prepare-0.9.0-release
Cloned https://github.com/cloudant/swift-cloudant.git
Revision (git rev-parse @):
928748f5d3dc2cd0e7ad9ff61323489eeb680ef4
SUCCESS checkout https://github.com/cloudant/swift-cloudant.git at 0.9.0
========================================
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": "swift-cloudant",
      "name": "SwiftCloudant",
      "url": "https://github.com/cloudant/swift-cloudant.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-cloudant",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/cloudant/swift-cloudant.git
[1/2803] Fetching swift-cloudant
Fetched https://github.com/cloudant/swift-cloudant.git from cache (1.06s)
Creating working copy for https://github.com/cloudant/swift-cloudant.git
Working copy of https://github.com/cloudant/swift-cloudant.git resolved at 0.9.0 (928748f)
warning: '.resolve-product-dependencies': dependency 'swift-cloudant' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/cloudant/swift-cloudant.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun 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--7754E27361AE5C74.txt
[3/26] Emitting module SwiftCloudant
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:162:16: warning: non-final class 'InterceptableSession' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
160 |  A class to create `URLSessionTask`
161 |  */
162 | internal class InterceptableSession: NSObject, URLSessionDelegate, URLSessionTaskDelegate, URLSessionDataDelegate, URLSessionStreamDelegate {
    |                `- warning: non-final class 'InterceptableSession' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
163 |
164 |     // This is lazy because of swift init rules. We can't use self for the delegate until super.init is called, but we
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:167:23: warning: stored property '$__lazy_storage_$_session' of 'Sendable'-conforming class 'InterceptableSession' is mutable; this is an error in the Swift 6 language mode
165 |     // can't call super.init until all properties have been initialised. To get around this we lazily create the
166 |     // URLSession instance when it is required.
167 |     internal lazy var session: URLSession = { () -> URLSession in
    |                       `- warning: stored property '$__lazy_storage_$_session' of 'Sendable'-conforming class 'InterceptableSession' is mutable; this is an error in the Swift 6 language mode
168 |         let config = URLSessionConfiguration.default
169 |         config.httpAdditionalHeaders = ["User-Agent" as AnyHashable: InterceptableSession.userAgent()]
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/Operations/Operation.swift:22:14: warning: class 'Operation' must restate inherited '@unchecked Sendable' conformance
 20 |  An NSOperation subclass for executing `CouchOperations`
 21 |  */
 22 | public class Operation: Foundation.Operation, HTTPRequestOperation
    |              `- warning: class 'Operation' must restate inherited '@unchecked Sendable' conformance
 23 | {
 24 |
[4/28] Compiling SwiftCloudant DeleteDatabaseOperation.swift
[5/28] Compiling SwiftCloudant GetAllDatabasesOperation.swift
[6/28] Compiling SwiftCloudant CouchDatabaseOperation.swift
[7/28] Compiling SwiftCloudant CreateDatabaseOperation.swift
[8/28] Compiling SwiftCloudant ViewLikeOperation.swift
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/Operations/Views/ViewPaging.swift:503:9: warning: backward matching of the unlabeled trailing closure is deprecated; label the argument with 'completionHandler' to suppress this warning
501 |                                         stale: stale,
502 |                                         includeLastUpdateSequenceNumber: includeLastUpdateSequenceNumber)
503 |         { (response, httpInfo, error) in
    |         `- warning: backward matching of the unlabeled trailing closure is deprecated; label the argument with 'completionHandler' to suppress this warning
504 |                 if let response = response, let rows = response["rows"] as? [[String: Any]] {
505 |
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/Operations/Views/QueryViewOperation.swift:90:12: note: 'init(name:designDocumentID:databaseName:descending:startKey:startKeyDocumentID:endKey:endKeyDocumentID:inclusiveEnd:key:keys:limit:skip:includeDocs:conflicts:reduce:group:groupLevel:stale:includeLastUpdateSequenceNumber:rowHandler:completionHandler:)' declared here
 88 |
 89 |      */
 90 |     public init(name: String,
    |            `- note: 'init(name:designDocumentID:databaseName:descending:startKey:startKeyDocumentID:endKey:endKeyDocumentID:inclusiveEnd:key:keys:limit:skip:includeDocs:conflicts:reduce:group:groupLevel:stale:includeLastUpdateSequenceNumber:rowHandler:completionHandler:)' declared here
 91 |                 designDocumentID: String,
 92 |                 databaseName:String,
[9/28] Compiling SwiftCloudant ViewPaging.swift
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/Operations/Views/ViewPaging.swift:503:9: warning: backward matching of the unlabeled trailing closure is deprecated; label the argument with 'completionHandler' to suppress this warning
501 |                                         stale: stale,
502 |                                         includeLastUpdateSequenceNumber: includeLastUpdateSequenceNumber)
503 |         { (response, httpInfo, error) in
    |         `- warning: backward matching of the unlabeled trailing closure is deprecated; label the argument with 'completionHandler' to suppress this warning
504 |                 if let response = response, let rows = response["rows"] as? [[String: Any]] {
505 |
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/Operations/Views/QueryViewOperation.swift:90:12: note: 'init(name:designDocumentID:databaseName:descending:startKey:startKeyDocumentID:endKey:endKeyDocumentID:inclusiveEnd:key:keys:limit:skip:includeDocs:conflicts:reduce:group:groupLevel:stale:includeLastUpdateSequenceNumber:rowHandler:completionHandler:)' declared here
 88 |
 89 |      */
 90 |     public init(name: String,
    |            `- note: 'init(name:designDocumentID:databaseName:descending:startKey:startKeyDocumentID:endKey:endKeyDocumentID:inclusiveEnd:key:keys:limit:skip:includeDocs:conflicts:reduce:group:groupLevel:stale:includeLastUpdateSequenceNumber:rowHandler:completionHandler:)' declared here
 91 |                 designDocumentID: String,
 92 |                 databaseName:String,
[10/28] Compiling SwiftCloudant GetAllDocsOperation.swift
[11/28] Compiling SwiftCloudant QueryViewOperation.swift
[12/28] Compiling SwiftCloudant PutAttachmentOperation.swift
[13/28] Compiling SwiftCloudant PutDocumentOperation.swift
[14/28] Compiling SwiftCloudant ReadAttachmentOperation.swift
[15/28] Compiling SwiftCloudant DeleteQueryIndexOperation.swift
[16/28] Compiling SwiftCloudant FindDocumentsOperation.swift
[17/28] Compiling SwiftCloudant CouchClient.swift
[18/28] Compiling SwiftCloudant RequestBuilder.swift
[19/28] Compiling SwiftCloudant RequestExecutor.swift
[20/28] Compiling SwiftCloudant DeleteAttachmentOperation.swift
[21/28] Compiling SwiftCloudant DeleteDocumentOperation.swift
[22/28] Compiling SwiftCloudant GetDocumentOperation.swift
[23/28] Compiling SwiftCloudant Operation.swift
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/Operations/Operation.swift:22:14: warning: class 'Operation' must restate inherited '@unchecked Sendable' conformance
 20 |  An NSOperation subclass for executing `CouchOperations`
 21 |  */
 22 | public class Operation: Foundation.Operation, HTTPRequestOperation
    |              `- warning: class 'Operation' must restate inherited '@unchecked Sendable' conformance
 23 | {
 24 |
[24/28] Compiling SwiftCloudant OperationProtocols.swift
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/Operations/Operation.swift:22:14: warning: class 'Operation' must restate inherited '@unchecked Sendable' conformance
 20 |  An NSOperation subclass for executing `CouchOperations`
 21 |  */
 22 | public class Operation: Foundation.Operation, HTTPRequestOperation
    |              `- warning: class 'Operation' must restate inherited '@unchecked Sendable' conformance
 23 | {
 24 |
[25/28] Compiling SwiftCloudant CreateQueryIndexOperation.swift
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/Operations/Operation.swift:22:14: warning: class 'Operation' must restate inherited '@unchecked Sendable' conformance
 20 |  An NSOperation subclass for executing `CouchOperations`
 21 |  */
 22 | public class Operation: Foundation.Operation, HTTPRequestOperation
    |              `- warning: class 'Operation' must restate inherited '@unchecked Sendable' conformance
 23 | {
 24 |
[26/28] Compiling SwiftCloudant URLSession.swift
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:162:16: warning: non-final class 'InterceptableSession' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
160 |  A class to create `URLSessionTask`
161 |  */
162 | internal class InterceptableSession: NSObject, URLSessionDelegate, URLSessionTaskDelegate, URLSessionDataDelegate, URLSessionStreamDelegate {
    |                `- warning: non-final class 'InterceptableSession' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
163 |
164 |     // This is lazy because of swift init rules. We can't use self for the delegate until super.init is called, but we
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:167:23: warning: stored property '$__lazy_storage_$_session' of 'Sendable'-conforming class 'InterceptableSession' is mutable; this is an error in the Swift 6 language mode
165 |     // can't call super.init until all properties have been initialised. To get around this we lazily create the
166 |     // URLSession instance when it is required.
167 |     internal lazy var session: URLSession = { () -> URLSession in
    |                       `- warning: stored property '$__lazy_storage_$_session' of 'Sendable'-conforming class 'InterceptableSession' is mutable; this is an error in the Swift 6 language mode
168 |         let config = URLSessionConfiguration.default
169 |         config.httpAdditionalHeaders = ["User-Agent" as AnyHashable: InterceptableSession.userAgent()]
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:258:31: warning: capture of 'mTask' with non-sendable type 'URLSessionTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |  A class which encapsulates HTTP requests. This class allows requests to be transparently retried.
109 |  */
110 | internal class URLSessionTask {
    |                `- note: class 'URLSessionTask' does not conform to the 'Sendable' protocol
111 |     fileprivate let request: URLRequest
112 |     fileprivate var inProgressTask: URLSessionDataTask
    :
256 |             // we have a caached response and data, we need to inspect the data to see if we need to renew
257 |             // the cookie.
258 |             if let response = mTask.response, let data = mTask.data {
    |                               `- warning: capture of 'mTask' with non-sendable type 'URLSessionTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
259 |                 let json = try? JSONSerialization.jsonObject(with: data)
260 |                 if let json =  json as? [String: Any],
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:344:21: warning: capture of 'task' with non-sendable type 'URLSessionTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |  A class which encapsulates HTTP requests. This class allows requests to be transparently retried.
109 |  */
110 | internal class URLSessionTask {
    |                `- note: class 'URLSessionTask' does not conform to the 'Sendable' protocol
111 |     fileprivate let request: URLRequest
112 |     fileprivate var inProgressTask: URLSessionDataTask
    :
342 |
343 |                 self.delegateQueue.asyncAfter(wallDeadline: deadline) {
344 |                     task.resume()
    |                     `- warning: capture of 'task' with non-sendable type 'URLSessionTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
345 |                 }
346 |
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:468:9: warning: switch covers known cases, but 'DispatchTimeInterval' may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
466 | fileprivate extension DispatchTimeInterval {
467 |     static func *(interval: DispatchTimeInterval, multiple: Int) -> DispatchTimeInterval {
468 |         switch (interval){
    |         |- warning: switch covers known cases, but 'DispatchTimeInterval' may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
    |         `- note: handle unknown values using "@unknown default"
469 |         case .microseconds(let value):
470 |             return .microseconds(value * multiple)
[27/28] Compiling SwiftCloudant GetChangesOperation.swift
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:162:16: warning: non-final class 'InterceptableSession' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
160 |  A class to create `URLSessionTask`
161 |  */
162 | internal class InterceptableSession: NSObject, URLSessionDelegate, URLSessionTaskDelegate, URLSessionDataDelegate, URLSessionStreamDelegate {
    |                `- warning: non-final class 'InterceptableSession' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
163 |
164 |     // This is lazy because of swift init rules. We can't use self for the delegate until super.init is called, but we
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:167:23: warning: stored property '$__lazy_storage_$_session' of 'Sendable'-conforming class 'InterceptableSession' is mutable; this is an error in the Swift 6 language mode
165 |     // can't call super.init until all properties have been initialised. To get around this we lazily create the
166 |     // URLSession instance when it is required.
167 |     internal lazy var session: URLSession = { () -> URLSession in
    |                       `- warning: stored property '$__lazy_storage_$_session' of 'Sendable'-conforming class 'InterceptableSession' is mutable; this is an error in the Swift 6 language mode
168 |         let config = URLSessionConfiguration.default
169 |         config.httpAdditionalHeaders = ["User-Agent" as AnyHashable: InterceptableSession.userAgent()]
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:258:31: warning: capture of 'mTask' with non-sendable type 'URLSessionTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |  A class which encapsulates HTTP requests. This class allows requests to be transparently retried.
109 |  */
110 | internal class URLSessionTask {
    |                `- note: class 'URLSessionTask' does not conform to the 'Sendable' protocol
111 |     fileprivate let request: URLRequest
112 |     fileprivate var inProgressTask: URLSessionDataTask
    :
256 |             // we have a caached response and data, we need to inspect the data to see if we need to renew
257 |             // the cookie.
258 |             if let response = mTask.response, let data = mTask.data {
    |                               `- warning: capture of 'mTask' with non-sendable type 'URLSessionTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
259 |                 let json = try? JSONSerialization.jsonObject(with: data)
260 |                 if let json =  json as? [String: Any],
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:344:21: warning: capture of 'task' with non-sendable type 'URLSessionTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |  A class which encapsulates HTTP requests. This class allows requests to be transparently retried.
109 |  */
110 | internal class URLSessionTask {
    |                `- note: class 'URLSessionTask' does not conform to the 'Sendable' protocol
111 |     fileprivate let request: URLRequest
112 |     fileprivate var inProgressTask: URLSessionDataTask
    :
342 |
343 |                 self.delegateQueue.asyncAfter(wallDeadline: deadline) {
344 |                     task.resume()
    |                     `- warning: capture of 'task' with non-sendable type 'URLSessionTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
345 |                 }
346 |
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:468:9: warning: switch covers known cases, but 'DispatchTimeInterval' may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
466 | fileprivate extension DispatchTimeInterval {
467 |     static func *(interval: DispatchTimeInterval, multiple: Int) -> DispatchTimeInterval {
468 |         switch (interval){
    |         |- warning: switch covers known cases, but 'DispatchTimeInterval' may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
    |         `- note: handle unknown values using "@unknown default"
469 |         case .microseconds(let value):
470 |             return .microseconds(value * multiple)
[28/28] Compiling SwiftCloudant BulkDocs.swift
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:162:16: warning: non-final class 'InterceptableSession' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
160 |  A class to create `URLSessionTask`
161 |  */
162 | internal class InterceptableSession: NSObject, URLSessionDelegate, URLSessionTaskDelegate, URLSessionDataDelegate, URLSessionStreamDelegate {
    |                `- warning: non-final class 'InterceptableSession' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
163 |
164 |     // This is lazy because of swift init rules. We can't use self for the delegate until super.init is called, but we
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:167:23: warning: stored property '$__lazy_storage_$_session' of 'Sendable'-conforming class 'InterceptableSession' is mutable; this is an error in the Swift 6 language mode
165 |     // can't call super.init until all properties have been initialised. To get around this we lazily create the
166 |     // URLSession instance when it is required.
167 |     internal lazy var session: URLSession = { () -> URLSession in
    |                       `- warning: stored property '$__lazy_storage_$_session' of 'Sendable'-conforming class 'InterceptableSession' is mutable; this is an error in the Swift 6 language mode
168 |         let config = URLSessionConfiguration.default
169 |         config.httpAdditionalHeaders = ["User-Agent" as AnyHashable: InterceptableSession.userAgent()]
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:258:31: warning: capture of 'mTask' with non-sendable type 'URLSessionTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |  A class which encapsulates HTTP requests. This class allows requests to be transparently retried.
109 |  */
110 | internal class URLSessionTask {
    |                `- note: class 'URLSessionTask' does not conform to the 'Sendable' protocol
111 |     fileprivate let request: URLRequest
112 |     fileprivate var inProgressTask: URLSessionDataTask
    :
256 |             // we have a caached response and data, we need to inspect the data to see if we need to renew
257 |             // the cookie.
258 |             if let response = mTask.response, let data = mTask.data {
    |                               `- warning: capture of 'mTask' with non-sendable type 'URLSessionTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
259 |                 let json = try? JSONSerialization.jsonObject(with: data)
260 |                 if let json =  json as? [String: Any],
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:344:21: warning: capture of 'task' with non-sendable type 'URLSessionTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |  A class which encapsulates HTTP requests. This class allows requests to be transparently retried.
109 |  */
110 | internal class URLSessionTask {
    |                `- note: class 'URLSessionTask' does not conform to the 'Sendable' protocol
111 |     fileprivate let request: URLRequest
112 |     fileprivate var inProgressTask: URLSessionDataTask
    :
342 |
343 |                 self.delegateQueue.asyncAfter(wallDeadline: deadline) {
344 |                     task.resume()
    |                     `- warning: capture of 'task' with non-sendable type 'URLSessionTask' in a `@Sendable` closure; this is an error in the Swift 6 language mode
345 |                 }
346 |
/Users/admin/builder/spi-builder-workspace/Source/SwiftCloudant/HTTP/URLSession.swift:468:9: warning: switch covers known cases, but 'DispatchTimeInterval' may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
466 | fileprivate extension DispatchTimeInterval {
467 |     static func *(interval: DispatchTimeInterval, multiple: Int) -> DispatchTimeInterval {
468 |         switch (interval){
    |         |- warning: switch covers known cases, but 'DispatchTimeInterval' may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
    |         `- note: handle unknown values using "@unknown default"
469 |         case .microseconds(let value):
470 |             return .microseconds(value * multiple)
Build complete! (19.89s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftCloudant",
  "name" : "SwiftCloudant",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SwiftCloudant",
      "targets" : [
        "SwiftCloudant"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "4.2",
    "5"
  ],
  "targets" : [
    {
      "c99name" : "SwiftCloudantTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftCloudantTests",
      "path" : "Tests/SwiftCloudantTests",
      "sources" : [
        "BulkDocsTests.swift",
        "CouchClientTest.swift",
        "CreateDatabaseTests.swift",
        "CreateQueryIndexTests.swift",
        "DeleteAttachmentTests.swift",
        "DeleteDocumentTests.swift",
        "DeleteQueryIndexTests.swift",
        "FindDocumentOperationTests.swift",
        "GetAllDatabasesTests.swift",
        "GetAllDocsTest.swift",
        "GetChangesTests.swift",
        "GetDocumentTests.swift",
        "InterceptableSessionTests.swift",
        "PutAttachmentTests.swift",
        "PutDocumentTests.swift",
        "QueryViewTests.swift",
        "ReadAttachmentTests.swift",
        "TestHelpers.swift",
        "ViewPagingTests.swift"
      ],
      "target_dependencies" : [
        "SwiftCloudant"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftCloudant",
      "module_type" : "SwiftTarget",
      "name" : "SwiftCloudant",
      "path" : "Source/SwiftCloudant",
      "product_memberships" : [
        "SwiftCloudant"
      ],
      "sources" : [
        "CouchClient.swift",
        "HTTP/RequestBuilder.swift",
        "HTTP/RequestExecutor.swift",
        "HTTP/URLSession.swift",
        "Operations/Database/GetChangesOperation.swift",
        "Operations/Documents/BulkDocs.swift",
        "Operations/Documents/DeleteAttachmentOperation.swift",
        "Operations/Documents/DeleteDocumentOperation.swift",
        "Operations/Documents/GetDocumentOperation.swift",
        "Operations/Documents/PutAttachmentOperation.swift",
        "Operations/Documents/PutDocumentOperation.swift",
        "Operations/Documents/ReadAttachmentOperation.swift",
        "Operations/Operation.swift",
        "Operations/OperationProtocols.swift",
        "Operations/Query/CreateQueryIndexOperation.swift",
        "Operations/Query/DeleteQueryIndexOperation.swift",
        "Operations/Query/FindDocumentsOperation.swift",
        "Operations/Server/CouchDatabaseOperation.swift",
        "Operations/Server/CreateDatabaseOperation.swift",
        "Operations/Server/DeleteDatabaseOperation.swift",
        "Operations/Server/GetAllDatabasesOperation.swift",
        "Operations/Views/GetAllDocsOperation.swift",
        "Operations/Views/QueryViewOperation.swift",
        "Operations/Views/ViewLikeOperation.swift",
        "Operations/Views/ViewPaging.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.