mirror of
https://github.com/swift-server/RediStack.git
synced 2026-05-03 07:32:28 +00:00
610915a909
Motivation: Redis is written in C, so even though it has concepts of "types" such as SortedSet or List its commands are all "free-floating" functions. This can make it unfamiliar for those new to Redis to work within its systems and understand the relation of all of the commands. RediStack can improve this by giving a way of having a consistent reference to a Redis type and all of its associated methods. Modifications: - Add: New library product called "RedisTypes" - Add: First type to "RedisTypes", `RedisSet` Result: Newcomers to Redis will have an easier time getting familiar with the APIs and working with its types by having wrappers that provide a familiar Swift Standard Library API tailored to Redis APIs.
39 lines
1.6 KiB
Swift
39 lines
1.6 KiB
Swift
// swift-tools-version:5.1
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This source file is part of the RediStack open source project
|
|
//
|
|
// Copyright (c) 2019-2020 RediStack project authors
|
|
// Licensed under Apache License v2.0
|
|
//
|
|
// See LICENSE.txt for license information
|
|
// See CONTRIBUTORS.txt for the list of RediStack project authors
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "RediStack",
|
|
products: [
|
|
.library(name: "RediStack", targets: ["RediStack"]),
|
|
.library(name: "RediStackTestUtils", targets: ["RediStackTestUtils"]),
|
|
.library(name: "RedisTypes", targets: ["RedisTypes"])
|
|
],
|
|
dependencies: [
|
|
.package(url: "https://github.com/apple/swift-log.git", from: "1.0.0"),
|
|
.package(url: "https://github.com/apple/swift-metrics.git", "1.0.0" ..< "3.0.0"),
|
|
.package(url: "https://github.com/apple/swift-nio.git", from: "2.0.0")
|
|
],
|
|
targets: [
|
|
.target(name: "RediStack", dependencies: ["NIO", "Logging", "Metrics"]),
|
|
.target(name: "RedisTypes", dependencies: ["RediStack"]),
|
|
.target(name: "RediStackTestUtils", dependencies: ["NIO", "RediStack"]),
|
|
.testTarget(name: "RediStackTests", dependencies: ["RediStack", "NIO", "RediStackTestUtils", "NIOTestUtils"]),
|
|
.testTarget(name: "RedisTypesTests", dependencies: ["RediStack", "NIO", "RediStackTestUtils", "RedisTypes"]),
|
|
.testTarget(name: "RediStackIntegrationTests", dependencies: ["RediStack", "NIO", "RediStackTestUtils"])
|
|
]
|
|
)
|