Files
hummingbird-docc/Package.swift
T

67 lines
2.3 KiB
Swift
Raw Normal View History

// swift-tools-version: 6.0
2025-09-17 18:58:25 +02:00
import PackageDescription
let package = Package(
name: HummingbirdDocC.package,
platforms: [
.iOS(.v17),
.macCatalyst(.v17),
.macOS(.v14),
.tvOS(.v17),
.visionOS(.v1)
],
2025-09-17 18:58:25 +02:00
products: [
.library(
name: HummingbirdDocC.package,
targets: [HummingbirdDocC.target]
2025-09-17 18:58:25 +02:00
),
],
dependencies: [
.package(url: "https://github.com/apple/swift-argument-parser.git", from: "1.4.0"),
2025-09-18 16:05:29 +00:00
.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"),
],
2025-09-17 18:58:25 +02:00
targets: [
.executableTarget(
name: HummingbirdDocC.sample,
dependencies: [
.byName(name: HummingbirdDocC.target),
.product(name: "ArgumentParser", package: "swift-argument-parser"),
],
path: "Samples/HummingbirdDocC",
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)),
]
),
2025-09-17 18:58:25 +02:00
.target(
name: HummingbirdDocC.target,
dependencies: [
.product(name: "Hummingbird", package: "hummingbird"),
],
path: "Sources/HummingbirdDocC",
swiftSettings: [.enableExperimentalFeature("StrictConcurrency=complete")]
2025-09-17 18:58:25 +02:00
),
.testTarget(
name: HummingbirdDocC.test,
dependencies: [
.product(name: "HummingbirdTesting", package: "hummingbird"),
.byName(name: HummingbirdDocC.target)
],
path: "Tests/HummingbirdDocC"
2025-09-17 18:58:25 +02:00
),
]
)
// MARK: - Constants
enum HummingbirdDocC {
static let package = "hummingbird-docc"
static let sample = "\(HummingbirdDocC.target)Sample"
static let target = "HummingbirdDocC"
static let test = "\(HummingbirdDocC.target)Test"
}