Fountain Coach Gitowner-controlled · read only

Fountain-Store.git · Package.swift

Fountain-Store.git / Package.swift

revision 578c7a5a9e49dcc10f23d7573ed647d14f484f48 · complete file

// swift-tools-version: 6.0
import PackageDescription

let package = Package(
    name: "FountainStore",
    platforms: [
        .macOS(.v13), .iOS(.v16), .tvOS(.v16), .watchOS(.v9)
    ],
    products: [
        .library(name: "FountainStore", targets: ["FountainStore"]),
        .library(name: "FountainStoreSessionKit", targets: ["FountainStoreSessionKit"]),
        .library(name: "FountainStoreAssetKit", targets: ["FountainStoreAssetKit"]),
        .library(name: "FountainStoreRecoveryKit", targets: ["FountainStoreRecoveryKit"]),
        .library(name: "FountainFTS", targets: ["FountainFTS"]),
        .library(name: "FountainVector", targets: ["FountainVector"]),
        .library(name: "FountainStoreHTTP", targets: ["FountainStoreHTTP"]),
        .library(name: "FountainStoreBookLibraryKit", targets: ["FountainStoreBookLibraryKit"]),
        .executable(name: "FountainStoreHTTPServer", targets: ["FountainStoreHTTPServer"]),
        .executable(name: "FountainStoreBookLibraryImporter", targets: ["FountainStoreBookLibraryImporter"]),
        .executable(name: "FountainStoreDoctor", targets: ["FountainStoreDoctor"]),
        .executable(name: "FountainStoreEstatePublisher", targets: ["FountainStoreEstatePublisher"]),
        .executable(name: "FountainStoreMCP", targets: ["FountainStoreMCP"]),
        .executable(name: "FountainStoreHostCredentialSeeder", targets: ["FountainStoreHostCredentialSeeder"])
    ],
    dependencies: [
        .package(url: "https://github.com/apple/swift-nio.git", from: "2.59.0"),
        .package(url: "https://github.com/apple/swift-nio-ssl.git", from: "2.27.0"),
        .package(url: "https://github.com/Fountain-Coach/swift-secretstore.git", from: "0.1.0"),
        .package(url: "https://github.com/apple/swift-crypto.git", from: "3.0.0"),
        .package(url: "https://github.com/Fountain-Coach/FountainStoreHostEnrollmentKit.git", exact: "0.3.0"),
        .package(url: "https://github.com/swift-server/async-http-client.git", from: "1.24.0"),
        .package(url: "https://github.com/Fountain-Coach/SwiftACMEKit.git", exact: "0.1.0"),
        .package(url: "https://github.com/Fountain-Coach/book-library.git", exact: "0.4.1")
    ],
    targets: [
        .target(name: "FountainStore", dependencies: ["FountainStoreCore", "FountainFTS", "FountainVector"]),
        .target(name: "FountainStoreBookLibraryKit", dependencies: [
            "FountainStore",
            .product(name: "BookLibraryClientKit", package: "book-library"),
            .product(name: "BookLibraryCore", package: "book-library")
        ]),
        .executableTarget(name: "FountainStoreBookLibraryImporter", dependencies: ["FountainStoreBookLibraryKit", "FountainStore", .product(name: "BookLibraryClientKit", package: "book-library"), .product(name: "BookLibraryCore", package: "book-library")]),
        .target(name: "FountainStoreSessionKit"),
        .target(name: "FountainStoreAssetKit", dependencies: [
            "FountainStore",
            .product(name: "Crypto", package: "swift-crypto")
        ]),
        .target(name: "FountainStoreRecoveryKit", dependencies: [
            "FountainStore",
            .product(name: "Crypto", package: "swift-crypto")
        ]),
        .target(name: "FountainStoreCore"),
        .target(name: "FountainFTS", dependencies: ["FountainStoreCore"]),
        .target(name: "FountainVector", dependencies: ["FountainStoreCore"]),
        .target(name: "FountainStoreHTTP", dependencies: [
            "FountainStore",
            "FountainStoreBookLibraryKit",
            .product(name: "ACMECore", package: "SwiftACMEKit"),
            .product(name: "Crypto", package: "swift-crypto"),
            .product(name: "FountainStoreHostEnrollmentKit", package: "FountainStoreHostEnrollmentKit")
        ]),
        .executableTarget(name: "FountainStoreHTTPServer", dependencies: [
            "FountainStoreHTTP",
            "FountainStoreSessionKit",
            .product(name: "NIO", package: "swift-nio"),
            .product(name: "NIOHTTP1", package: "swift-nio"),
            .product(name: "NIOSSL", package: "swift-nio-ssl"),
            .product(name: "SecretStore", package: "swift-secretstore"),
            .product(name: "Crypto", package: "swift-crypto"),
            .product(name: "AsyncHTTPClient", package: "async-http-client")
        ]),
        .executableTarget(name: "FountainStoreDoctor", dependencies: ["FountainStore", "FountainStoreSessionKit"]),
        .executableTarget(name: "FountainStoreEstatePublisher", dependencies: [
            "FountainStoreHTTP", "FountainStoreSessionKit", "FountainStore",
            .product(name: "Crypto", package: "swift-crypto")
        ]),
        .executableTarget(name: "FountainStoreMCP", dependencies: ["FountainStoreHTTP", "FountainStore"]),
        .executableTarget(name: "FountainStoreHostCredentialSeeder", dependencies: [
            .product(name: "FountainStoreHostEnrollmentKit", package: "FountainStoreHostEnrollmentKit"),
            .product(name: "SecretStore", package: "swift-secretstore"),
            .product(name: "Crypto", package: "swift-crypto")
        ]),
        .testTarget(name: "FountainStoreTests", dependencies: ["FountainStore", "FountainFTS", "FountainVector", "FountainStoreBookLibraryKit"]),
        .testTarget(name: "FountainStoreSessionKitTests", dependencies: ["FountainStoreSessionKit"]),
        .testTarget(name: "FountainStoreAssetKitTests", dependencies: ["FountainStoreAssetKit"]),
        .testTarget(name: "FountainStoreRecoveryKitTests", dependencies: ["FountainStoreRecoveryKit"]),
        .testTarget(name: "FountainStoreHTTPTests", dependencies: ["FountainStoreHTTP"]),
        .executableTarget(name: "FountainStoreBenchmarks", dependencies: ["FountainStore"]),
    ]
)