Updated the names of the targets in the Package file to "HummingbirdDocC".

This commit is contained in:
2025-09-28 23:09:02 +02:00
parent 90c4033a49
commit efedff51d1
40 changed files with 99 additions and 24 deletions
+15 -15
View File
@@ -3,7 +3,7 @@
import PackageDescription
let package = Package(
name: DocCMiddleware.package,
name: HummingbirdDocC.package,
platforms: [
.iOS(.v17),
.macCatalyst(.v17),
@@ -13,8 +13,8 @@ let package = Package(
],
products: [
.library(
name: DocCMiddleware.package,
targets: [DocCMiddleware.target]
name: HummingbirdDocC.package,
targets: [HummingbirdDocC.target]
),
],
dependencies: [
@@ -24,12 +24,12 @@ let package = Package(
],
targets: [
.executableTarget(
name: DocCMiddleware.sample,
name: HummingbirdDocC.sample,
dependencies: [
.byName(name: DocCMiddleware.target),
.byName(name: HummingbirdDocC.target),
.product(name: "ArgumentParser", package: "swift-argument-parser"),
],
path: "Samples/DocCMiddleware",
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
@@ -38,29 +38,29 @@ let package = Package(
]
),
.target(
name: DocCMiddleware.target,
name: HummingbirdDocC.target,
dependencies: [
.product(name: "Hummingbird", package: "hummingbird"),
],
path: "Sources/DocCMiddleware",
path: "Sources/HummingbirdDocC",
swiftSettings: [.enableExperimentalFeature("StrictConcurrency=complete")]
),
.testTarget(
name: DocCMiddleware.test,
name: HummingbirdDocC.test,
dependencies: [
.product(name: "HummingbirdTesting", package: "hummingbird"),
.byName(name: DocCMiddleware.target)
.byName(name: HummingbirdDocC.target)
],
path: "Tests/DocCMiddleware"
path: "Tests/HummingbirdDocC"
),
]
)
// MARK: - Constants
enum DocCMiddleware {
enum HummingbirdDocC {
static let package = "hummingbird-docc"
static let sample = "\(DocCMiddleware.target)Sample"
static let target = "DocCMiddleware"
static let test = "\(DocCMiddleware.target)Test"
static let sample = "\(HummingbirdDocC.target)Sample"
static let target = "HummingbirdDocC"
static let test = "\(HummingbirdDocC.target)Test"
}
@@ -0,0 +1,51 @@
// ===----------------------------------------------------------------------===
//
// This source file is part of the Hummingbird DocC Middleware open source project
//
// Copyright (c) 2025 Röck+Cöde VoF. and the Hummingbird DocC Middleware project authors
// Licensed under the EUPL 1.2 or later.
//
// See LICENSE for license information
// See CONTRIBUTORS for the list of Hummingbird DocC Middleware project authors
//
// ===----------------------------------------------------------------------===
import class Hummingbird.Router
import protocol Hummingbird.ApplicationProtocol
import struct Hummingbird.Application
import struct Hummingbird.BindAddress
import struct Logging.Logger
struct AppBuilder {
// MARK: Properties
/// A type that interacts with the logging system.
private let logger: Logger
// MARK: Initializers
/// Initializes this builder.
/// - Parameter logger: A type that interacts with the logging system.
init(logger: Logger) {
self.logger = logger
}
// MARK: Functions
func callAsFunction(
_ arguments: AppArguments
) -> some ApplicationProtocol {
let router = Router()
return Application(
router: router,
configuration: .init(
address: .hostname(arguments.hostname, port: arguments.port)
),
logger: logger
)
}
}
@@ -10,7 +10,10 @@
//
// ===----------------------------------------------------------------------===
import protocol ArgumentParser.AsyncParsableCommand
import struct ArgumentParser.OptionGroup
import struct Logging.Logger
/// A type that implements and runs the sample executable that showcases the `Hummingbird-DocC` middleware.
@main struct SampleApp {
@@ -22,3 +25,24 @@ import struct ArgumentParser.OptionGroup
}
// MARK: - AsyncParsableCommand
extension SampleApp: AsyncParsableCommand {
// MARK: Functions
func run() async throws {
let builder = AppBuilder(logger: {
var logger = Logger(label: "sample.hummingbird-docc.logger")
logger.logLevel = arguments.logLevel ?? .trace
return logger
}())
let application = builder(arguments)
try await application.run()
}
}
@@ -12,7 +12,7 @@
import Testing
@testable import enum DocCMiddleware.AssetFile
@testable import enum HummingbirdDocC.AssetFile
@Suite("Asset File", .tags(.enumeration))
struct AssetFileTests {
@@ -12,7 +12,7 @@
import Testing
@testable import enum DocCMiddleware.AssetFolder
@testable import enum HummingbirdDocC.AssetFolder
@Suite("Asset Folder", .tags(.enumeration))
struct AssetFolderTests {
@@ -12,7 +12,7 @@
import Testing
@testable import enum DocCMiddleware.DocumentationFolder
@testable import enum HummingbirdDocC.DocumentationFolder
@Suite("Documentation Type", .tags(.enumeration))
struct DocumentationTypeTests {
@@ -17,7 +17,7 @@ import struct Hummingbird.HTTPResponse
import struct Hummingbird.Request
import struct Logging.Logger
@testable import DocCMiddleware
@testable import HummingbirdDocC
@Suite("Logger Metadata Helpers", .tags(.extension))
struct LoggerMetadata_HelpersTests {
@@ -14,7 +14,7 @@ import Testing
import struct HummingbirdCore.URI
@testable import struct DocCMiddleware.CheckURIUseCase
@testable import struct HummingbirdDocC.CheckURIUseCase
@Suite("Check URI use case", .tags(.useCase))
struct CheckURIUseCaseTests {
@@ -12,7 +12,7 @@
import Testing
@testable import struct DocCMiddleware.PrepareURIPathUseCase
@testable import struct HummingbirdDocC.PrepareURIPathUseCase
@Suite("Prepare URI Path Use Case", .tags(.useCase))
struct PrepareURIPathUseCaseTests {
@@ -18,7 +18,7 @@ import struct Hummingbird.HTTPResponse
import struct Hummingbird.Request
import struct Logging.Logger
@testable import struct DocCMiddleware.RedirectURIUseCase
@testable import struct HummingbirdDocC.RedirectURIUseCase
@Suite("Redirect URI Use Case", .tags(.useCase))
struct RedirectURIUseCaseTests {
@@ -18,7 +18,7 @@ import struct Hummingbird.HTTPResponse
import struct Hummingbird.Request
import struct Logging.Logger
@testable import struct DocCMiddleware.ServeURIUseCase
@testable import struct HummingbirdDocC.ServeURIUseCase
@Suite("Serve URI Use Case", .tags(.useCase))
struct ServeURIUseCaseTests {
@@ -20,7 +20,7 @@ import struct Hummingbird.LocalFileSystem
import struct Hummingbird.Request
import struct Logging.Logger
@testable import struct DocCMiddleware.DocCMiddleware
@testable import struct HummingbirdDocC.DocCMiddleware
@Suite("DocC Middleware", .tags(.middleware))
struct DocCMiddlewareTests {