Files
hummingbird-docc/Package.swift
T

67 lines
2.3 KiB
Swift

// swift-tools-version: 6.0
import PackageDescription
let package = Package(
name: DocCMiddleware.package,
platforms: [
.iOS(.v17),
.macCatalyst(.v17),
.macOS(.v14),
.tvOS(.v17),
.visionOS(.v1)
],
products: [
.library(
name: DocCMiddleware.package,
targets: [DocCMiddleware.target]
),
],
dependencies: [
.package(url: "https://github.com/apple/swift-argument-parser.git", from: "1.4.0"),
.package(url: "https://github.com/hummingbird-project/hummingbird.git", from: "2.0.0"),
.package(url: "https://github.com/swiftlang/swift-docc-plugin", from: "1.1.0"),
],
targets: [
.target(
name: DocCMiddleware.target,
dependencies: [
.product(name: "Hummingbird", package: "hummingbird"),
],
path: "Sources/DocCMiddleware",
swiftSettings: [.enableExperimentalFeature("StrictConcurrency=complete")]
),
.target(
name: DocCMiddleware.sample,
dependencies: [
.byName(name: DocCMiddleware.target),
.product(name: "ArgumentParser", package: "swift-argument-parser"),
],
path: "Samples/DocCMiddleware",
swiftSettings: [
// Enable better optimizations when building in Release configuration. Despite the use of
// the `.unsafeFlags` construct required by SwiftPM, this flag is recommended for Release
// builds. See <https://github.com/swift-server/guides#building-for-production> for details.
.unsafeFlags(["-cross-module-optimization"], .when(configuration: .release)),
]
),
.testTarget(
name: DocCMiddleware.test,
dependencies: [
.product(name: "HummingbirdTesting", package: "hummingbird"),
.byName(name: DocCMiddleware.target)
],
path: "Tests/DocCMiddleware"
),
]
)
// MARK: - Constants
enum DocCMiddleware {
static let package = "hummingbird-docc"
static let sample = "\(DocCMiddleware.target)Sample"
static let target = "DocCMiddleware"
static let test = "\(DocCMiddleware.target)Test"
}