69 lines
2.5 KiB
Swift
69 lines
2.5 KiB
Swift
// swift-tools-version:5.7
|
|
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "nats-swift",
|
|
platforms: [
|
|
.macOS(.v13),
|
|
.iOS(.v13),
|
|
],
|
|
products: [
|
|
.library(name: "Nats", targets: ["Nats"]),
|
|
.library(name: "JetStream", targets: ["JetStream"]),
|
|
.library(name: "NatsServer", targets: ["NatsServer"])
|
|
],
|
|
dependencies: [
|
|
.package(url: "https://github.com/apple/swift-nio.git", from: "2.0.0"),
|
|
.package(url: "https://github.com/apple/swift-log.git", from: "1.4.2"),
|
|
.package(url: "https://github.com/nats-io/nkeys.swift.git", from: "0.1.2"),
|
|
.package(url: "https://github.com/apple/swift-nio-ssl.git", from: "2.0.0"),
|
|
.package(url: "https://github.com/Jarema/swift-nuid.git", from: "0.2.0"),
|
|
],
|
|
targets: [
|
|
.target(
|
|
name: "Nats",
|
|
dependencies: [
|
|
.product(name: "NIO", package: "swift-nio"),
|
|
.product(name: "NIOSSL", package: "swift-nio-ssl"),
|
|
.product(name: "Logging", package: "swift-log"),
|
|
.product(name: "NIOFoundationCompat", package: "swift-nio"),
|
|
.product(name: "NIOHTTP1", package: "swift-nio"),
|
|
.product(name: "NIOWebSocket", package: "swift-nio"),
|
|
.product(name: "NKeys", package: "nkeys.swift"),
|
|
.product(name: "Nuid", package: "swift-nuid"),
|
|
]),
|
|
.target(
|
|
name: "JetStream",
|
|
dependencies: [
|
|
"Nats",
|
|
.product(name: "Logging", package: "swift-log"),
|
|
]),
|
|
.target(
|
|
name: "NatsServer",
|
|
dependencies: [
|
|
.product(name: "Logging", package: "swift-log"),
|
|
]),
|
|
|
|
.testTarget(
|
|
name: "NatsTests",
|
|
dependencies: ["Nats", "NatsServer"],
|
|
resources: [
|
|
.process("Integration/Resources")
|
|
]
|
|
),
|
|
.testTarget(
|
|
name: "JetStreamTests",
|
|
dependencies: ["Nats", "JetStream", "NatsServer"],
|
|
resources: [
|
|
.process("Integration/Resources")
|
|
]
|
|
),
|
|
.executableTarget(name: "bench", dependencies: ["Nats"]),
|
|
.executableTarget(name: "Benchmark", dependencies: ["Nats"]),
|
|
.executableTarget(name: "BenchmarkPubSub", dependencies: ["Nats"]),
|
|
.executableTarget(name: "BenchmarkSub", dependencies: ["Nats"]),
|
|
.executableTarget(name: "Example", dependencies: ["Nats"]),
|
|
]
|
|
)
|