// swift-tools-version:6.0

import PackageDescription

let package = Package(
    name: "{{HB_PACKAGE_NAME}}",
    platforms: [
        .macOS(.v10_15)
    ],
    products: [
        .executable(name: "app", targets: ["App"]),
        .library(name: "AppInfrastructure", targets: ["AppInfrastructure"])
    ],
    dependencies: [
        .package(url: "https://github.com/hummingbird-project/hummingbird.git", from: "2.0.0"),
        .package(url: "https://github.com/apple/swift-argument-parser.git", from: "1.3.0")
    ],
    targets: [
        .executableTarget(
            name: "App",
            dependencies: [
                .byName(name: "AppInfrastructure"),
                .product(name: "ArgumentParser", package: "swift-argument-parser"),
                .product(name: "Hummingbird", package: "hummingbird")
            ],
            path: "Sources/App"
        ),
        .target(
            name: "AppInfrastructure",
            dependencies: [
                .product(name: "ArgumentParser", package: "swift-argument-parser"),
                .product(name: "Hummingbird", package: "hummingbird"),
            ],
            path: "Sources/AppInfrastructure"
        ),
        .testTarget(
            name: "AppTests",
            dependencies: [
                dependencies: [
                    .byName(name: "AppInfrastructure"),
                    .product(name: "HummingbirdTesting", package: "hummingbird")
                ]
            ],
            path: "Tests/App"
        )
    ]
)
