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 RedisClient, reference 1.3.0 (898b04), with Swift 6.0 for macOS (SPM) on 28 Jul 2024 09:52:53 UTC.

Swift 6 data race errors: 1

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Beta.4.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.48.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/reswifq/redis-client.git
Reference: 1.3.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/reswifq/redis-client
 * tag               1.3.0      -> FETCH_HEAD
HEAD is now at 898b043 updated pool dependency to 1.3.0
Cloned https://github.com/reswifq/redis-client.git
Revision (git rev-parse @):
898b043d0a54d2b523e6e603d0bbabde4f21b4a5
SUCCESS checkout https://github.com/reswifq/redis-client.git at 1.3.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/reswifq/redis-client.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Beta.4.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version--14728B76ED507284.txt
[4/5] Compiling Pool Pool.swift
[5/5] Emitting module Pool
[6/9] Compiling RedisClient RedisClientResponse.swift
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClientResponse.swift:48:5: warning: 'public' modifier is redundant for enum declared in a public extension
 46 | public extension RedisClientResponse {
 47 |
 48 |     public enum Status: String {
    |     `- warning: 'public' modifier is redundant for enum declared in a public extension
 49 |         case ok = "OK"
 50 |         case queued = "QUEUED"
[7/9] Compiling RedisClient RedisClientPool.swift
[8/9] Emitting module RedisClient
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:28:10: warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'RedisClientError' has non-sendable type 'RedisClientResponse'; this is an error in the Swift 6 language mode
 26 | public enum RedisClientError: Error {
 27 |
 28 |     case invalidResponse(RedisClientResponse)
    |          `- warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'RedisClientError' has non-sendable type 'RedisClientResponse'; this is an error in the Swift 6 language mode
 29 |     case transactionAborted
 30 |     case enqueueCommandError
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClientResponse.swift:24:13: note: consider making enum 'RedisClientResponse' conform to the 'Sendable' protocol
 22 | import Foundation
 23 |
 24 | public enum RedisClientResponse {
    |             `- note: consider making enum 'RedisClientResponse' conform to the 'Sendable' protocol
 25 |
 26 |     /// An array response from a Redis server. The value is an array of the individual
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:47:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 45 | public extension RedisClient {
 46 |
 47 |     public func execute(_ command: String, arguments: String...) throws -> RedisClientResponse {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
 48 |         return try self.execute(command, arguments: arguments)
 49 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:55:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 53 |
 54 |     @discardableResult
 55 |     public func get(_ key: String) throws -> String? {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
 56 |
 57 |         let response = try self.execute("GET", arguments: key)
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:70:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 68 |
 69 |     @discardableResult
 70 |     public func incr(_ key: String) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
 71 |
 72 |         let response = try self.execute("INCR", arguments: key)
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:82:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 80 |
 81 |     @discardableResult
 82 |     public func del(_ keys: String...) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
 83 |         return try self.del(keys)
 84 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:87:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 85 |
 86 |     @discardableResult
 87 |     public func del(_ keys: [String]) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
 88 |
 89 |         let response = try self.execute("DEL", arguments: keys)
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:99:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 97 |
 98 |     @discardableResult
 99 |     public func lpush(_ key: String, values: String...) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
100 |         return try self.lpush(key, values: values)
101 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:104:5: warning: 'public' modifier is redundant for instance method declared in a public extension
102 |
103 |     @discardableResult
104 |     public func lpush(_ key: String, values: [String]) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
105 |
106 |         var arguments = [key]
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:119:5: warning: 'public' modifier is redundant for instance method declared in a public extension
117 |
118 |     @discardableResult
119 |     public func rpush(_ key: String, values: String...) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
120 |         return try self.rpush(key, values: values)
121 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:124:5: warning: 'public' modifier is redundant for instance method declared in a public extension
122 |
123 |     @discardableResult
124 |     public func rpush(_ key: String, values: [String]) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
125 |
126 |         var arguments = [key]
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:139:5: warning: 'public' modifier is redundant for instance method declared in a public extension
137 |
138 |     @discardableResult
139 |     public func rpoplpush(source: String, destination: String) throws -> String? {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
140 |
141 |         let response = try self.execute("RPOPLPUSH", arguments: [source, destination])
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:154:5: warning: 'public' modifier is redundant for instance method declared in a public extension
152 |
153 |     @discardableResult
154 |     public func brpoplpush(source: String, destination: String, count: Int = 0) throws -> String {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
155 |
156 |         let response = try self.execute("BRPOPLPUSH", arguments: [source, destination, String(count)])
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:165:5: warning: 'public' modifier is redundant for instance method declared in a public extension
163 |     }
164 |
165 |     public func setex(_ key: String, timeout: TimeInterval, value: String) throws {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
166 |
167 |         let response = try self.execute("SETEX", arguments: [key, String(Int(timeout)), value])
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:175:5: warning: 'public' modifier is redundant for instance method declared in a public extension
173 |
174 |     @discardableResult
175 |     public func lrem(_ key: String, value: String, count: Int? = nil) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
176 |
177 |         var arguments = [key]
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:193:5: warning: 'public' modifier is redundant for instance method declared in a public extension
191 |
192 |     @discardableResult
193 |     public func lrange(_ key: String, start: Int, stop: Int) throws -> [String] {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
194 |
195 |         let response = try self.execute("LRANGE", arguments: [key, String(start), String(stop)])
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:205:5: warning: 'public' modifier is redundant for instance method declared in a public extension
203 |
204 |     @discardableResult
205 |     public func zadd(_ key: String, values: (score: Double, member: String)...) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
206 |         return try self.zadd(key, values: values)
207 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:210:5: warning: 'public' modifier is redundant for instance method declared in a public extension
208 |
209 |     @discardableResult
210 |     public func zadd(_ key: String, values: [(score: Double, member: String)]) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
211 |
212 |         var arguments = [key]
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:229:5: warning: 'public' modifier is redundant for instance method declared in a public extension
227 |
228 |     @discardableResult
229 |     public func zrange(_ key: String, start: Int, stop: Int) throws -> [String] {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
230 |
231 |         let response = try self.execute("ZRANGE", arguments: [key, String(start), String(stop)])
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:241:5: warning: 'public' modifier is redundant for instance method declared in a public extension
239 |
240 |     @discardableResult
241 |     public func zrangebyscore(_ key: String, min: Double, max: Double, includeMin: Bool = false, includeMax: Bool = true) throws -> [String] {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
242 |
243 |         var arguments = [key]
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:261:5: warning: 'public' modifier is redundant for instance method declared in a public extension
259 |
260 |     @discardableResult
261 |     public func zrem(_ key: String, member: String) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
262 |
263 |         let response = try self.execute("ZREM", arguments: [key, member])
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:292:5: warning: 'public' modifier is redundant for instance method declared in a public extension
290 |
291 |     @discardableResult
292 |     public func multi(_ commands: (RedisClient, RedisClientTransaction) throws -> Void) throws -> [RedisClientResponse] {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
293 |
294 |         let response = try self.execute("MULTI", arguments: nil)
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClientResponse.swift:48:5: warning: 'public' modifier is redundant for enum declared in a public extension
 46 | public extension RedisClientResponse {
 47 |
 48 |     public enum Status: String {
    |     `- warning: 'public' modifier is redundant for enum declared in a public extension
 49 |         case ok = "OK"
 50 |         case queued = "QUEUED"
[9/9] Compiling RedisClient RedisClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:28:10: warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'RedisClientError' has non-sendable type 'RedisClientResponse'; this is an error in the Swift 6 language mode
 26 | public enum RedisClientError: Error {
 27 |
 28 |     case invalidResponse(RedisClientResponse)
    |          `- warning: associated value 'invalidResponse' of 'Sendable'-conforming enum 'RedisClientError' has non-sendable type 'RedisClientResponse'; this is an error in the Swift 6 language mode
 29 |     case transactionAborted
 30 |     case enqueueCommandError
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClientResponse.swift:24:13: note: consider making enum 'RedisClientResponse' conform to the 'Sendable' protocol
 22 | import Foundation
 23 |
 24 | public enum RedisClientResponse {
    |             `- note: consider making enum 'RedisClientResponse' conform to the 'Sendable' protocol
 25 |
 26 |     /// An array response from a Redis server. The value is an array of the individual
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:47:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 45 | public extension RedisClient {
 46 |
 47 |     public func execute(_ command: String, arguments: String...) throws -> RedisClientResponse {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
 48 |         return try self.execute(command, arguments: arguments)
 49 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:55:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 53 |
 54 |     @discardableResult
 55 |     public func get(_ key: String) throws -> String? {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
 56 |
 57 |         let response = try self.execute("GET", arguments: key)
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:70:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 68 |
 69 |     @discardableResult
 70 |     public func incr(_ key: String) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
 71 |
 72 |         let response = try self.execute("INCR", arguments: key)
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:82:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 80 |
 81 |     @discardableResult
 82 |     public func del(_ keys: String...) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
 83 |         return try self.del(keys)
 84 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:87:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 85 |
 86 |     @discardableResult
 87 |     public func del(_ keys: [String]) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
 88 |
 89 |         let response = try self.execute("DEL", arguments: keys)
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:99:5: warning: 'public' modifier is redundant for instance method declared in a public extension
 97 |
 98 |     @discardableResult
 99 |     public func lpush(_ key: String, values: String...) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
100 |         return try self.lpush(key, values: values)
101 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:104:5: warning: 'public' modifier is redundant for instance method declared in a public extension
102 |
103 |     @discardableResult
104 |     public func lpush(_ key: String, values: [String]) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
105 |
106 |         var arguments = [key]
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:119:5: warning: 'public' modifier is redundant for instance method declared in a public extension
117 |
118 |     @discardableResult
119 |     public func rpush(_ key: String, values: String...) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
120 |         return try self.rpush(key, values: values)
121 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:124:5: warning: 'public' modifier is redundant for instance method declared in a public extension
122 |
123 |     @discardableResult
124 |     public func rpush(_ key: String, values: [String]) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
125 |
126 |         var arguments = [key]
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:139:5: warning: 'public' modifier is redundant for instance method declared in a public extension
137 |
138 |     @discardableResult
139 |     public func rpoplpush(source: String, destination: String) throws -> String? {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
140 |
141 |         let response = try self.execute("RPOPLPUSH", arguments: [source, destination])
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:154:5: warning: 'public' modifier is redundant for instance method declared in a public extension
152 |
153 |     @discardableResult
154 |     public func brpoplpush(source: String, destination: String, count: Int = 0) throws -> String {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
155 |
156 |         let response = try self.execute("BRPOPLPUSH", arguments: [source, destination, String(count)])
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:165:5: warning: 'public' modifier is redundant for instance method declared in a public extension
163 |     }
164 |
165 |     public func setex(_ key: String, timeout: TimeInterval, value: String) throws {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
166 |
167 |         let response = try self.execute("SETEX", arguments: [key, String(Int(timeout)), value])
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:175:5: warning: 'public' modifier is redundant for instance method declared in a public extension
173 |
174 |     @discardableResult
175 |     public func lrem(_ key: String, value: String, count: Int? = nil) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
176 |
177 |         var arguments = [key]
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:193:5: warning: 'public' modifier is redundant for instance method declared in a public extension
191 |
192 |     @discardableResult
193 |     public func lrange(_ key: String, start: Int, stop: Int) throws -> [String] {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
194 |
195 |         let response = try self.execute("LRANGE", arguments: [key, String(start), String(stop)])
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:205:5: warning: 'public' modifier is redundant for instance method declared in a public extension
203 |
204 |     @discardableResult
205 |     public func zadd(_ key: String, values: (score: Double, member: String)...) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
206 |         return try self.zadd(key, values: values)
207 |     }
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:210:5: warning: 'public' modifier is redundant for instance method declared in a public extension
208 |
209 |     @discardableResult
210 |     public func zadd(_ key: String, values: [(score: Double, member: String)]) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
211 |
212 |         var arguments = [key]
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:229:5: warning: 'public' modifier is redundant for instance method declared in a public extension
227 |
228 |     @discardableResult
229 |     public func zrange(_ key: String, start: Int, stop: Int) throws -> [String] {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
230 |
231 |         let response = try self.execute("ZRANGE", arguments: [key, String(start), String(stop)])
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:241:5: warning: 'public' modifier is redundant for instance method declared in a public extension
239 |
240 |     @discardableResult
241 |     public func zrangebyscore(_ key: String, min: Double, max: Double, includeMin: Bool = false, includeMax: Bool = true) throws -> [String] {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
242 |
243 |         var arguments = [key]
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:261:5: warning: 'public' modifier is redundant for instance method declared in a public extension
259 |
260 |     @discardableResult
261 |     public func zrem(_ key: String, member: String) throws -> Int64 {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
262 |
263 |         let response = try self.execute("ZREM", arguments: [key, member])
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:292:5: warning: 'public' modifier is redundant for instance method declared in a public extension
290 |
291 |     @discardableResult
292 |     public func multi(_ commands: (RedisClient, RedisClientTransaction) throws -> Void) throws -> [RedisClientResponse] {
    |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
293 |
294 |         let response = try self.execute("MULTI", arguments: nil)
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:201:23: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
199 |         }
200 |
201 |         return result.flatMap { $0.string }
    |                       |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
    |                       `- note: use 'compactMap(_:)' instead
202 |     }
203 |
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:237:23: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
235 |         }
236 |
237 |         return result.flatMap { $0.string }
    |                       |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
    |                       `- note: use 'compactMap(_:)' instead
238 |     }
239 |
/Users/admin/builder/spi-builder-workspace/Sources/RedisClient/RedisClient.swift:257:23: warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
255 |         }
256 |
257 |         return result.flatMap { $0.string }
    |                       |- warning: 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value
    |                       `- note: use 'compactMap(_:)' instead
258 |     }
259 |
Build complete! (7.47s)
Fetching https://github.com/reswifq/pool.git
[1/69] Fetching pool
Fetched https://github.com/reswifq/pool.git from cache (0.72s)
Computing version for https://github.com/reswifq/pool.git
Computed https://github.com/reswifq/pool.git at 1.3.0 (0.62s)
Creating working copy for https://github.com/reswifq/pool.git
Working copy of https://github.com/reswifq/pool.git resolved at 1.3.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "pool",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/reswifq/pool.git"
    }
  ],
  "manifest_display_name" : "RedisClient",
  "name" : "RedisClient",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "RedisClient",
      "targets" : [
        "RedisClient"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "RedisClientTests",
      "module_type" : "SwiftTarget",
      "name" : "RedisClientTests",
      "path" : "Tests/RedisClientTests",
      "sources" : [
        "RedisClientPoolTests.swift",
        "RedisClientResponseTests.swift",
        "RedisClientTests.swift"
      ],
      "target_dependencies" : [
        "RedisClient"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RedisClient",
      "module_type" : "SwiftTarget",
      "name" : "RedisClient",
      "path" : "Sources/RedisClient",
      "product_dependencies" : [
        "Pool"
      ],
      "product_memberships" : [
        "RedisClient"
      ],
      "sources" : [
        "RedisClient.swift",
        "RedisClientPool.swift",
        "RedisClientResponse.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.