Files
hummingbird-docc/Package.swift
T

81 lines
2.8 KiB
Swift
Raw Normal View History

// swift-tools-version: 6.0
2025-09-17 18:58:25 +02:00
2025-10-07 23:35:55 +00:00
// ===----------------------------------------------------------------------===
//
// This source file is part of the Hummingbird DocC open source project
//
// Copyright (c) 2025 Röck+Cöde VoF. and the Hummingbird DocC project authors
// Licensed under Apache license v2.0
//
// See LICENSE for license information
// See CONTRIBUTORS for the list of Hummingbird DocC project authors
//
// SPDX-License-Identifier: Apache-2.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"
}