Luminate/Package.swift

89 lines
3.3 KiB
Swift

import CompilerPluginSupport
// swift-tools-version: 6.0
import PackageDescription
let package = Package(
name: "Luminate",
platforms: [.macOS(.v13)],
dependencies: [
.package(url: "https://git.aparoksha.dev/aparoksha/adwaita-swift", branch: "main"),
.package(url: "https://git.aparoksha.dev/aparoksha/localized", branch: "main"),
.package(url: "https://github.com/apple/swift-openapi-generator", from: "1.0.0"),
.package(url: "https://github.com/apple/swift-openapi-runtime", from: "1.0.0"),
.package(url: "https://github.com/apple/swift-openapi-urlsession", from: "1.0.0"),
.package(url: "https://github.com/stephencelis/SQLite.swift", from: "0.16.0"),
.package(url: "https://github.com/apple/swift-syntax", from: "603.0.0"),
],
targets: [
.target(
name: "LuminateAPI",
dependencies: [
.product(name: "OpenAPIRuntime", package: "swift-openapi-runtime"),
.product(name: "OpenAPIURLSession", package: "swift-openapi-urlsession"),
],
plugins: [
.plugin(name: "OpenAPIGenerator", package: "swift-openapi-generator")
]
),
.target(
name: "LuminateCore",
dependencies: [
"LuminateAPI",
"LuminateObservationMacros",
.product(name: "OpenAPIRuntime", package: "swift-openapi-runtime"),
.product(name: "OpenAPIURLSession", package: "swift-openapi-urlsession"),
.product(name: "SQLite", package: "SQLite.swift"),
]
),
.macro(
name: "LuminateObservationMacros",
dependencies: [
.product(name: "SwiftSyntax", package: "swift-syntax"),
.product(name: "SwiftSyntaxMacros", package: "swift-syntax"),
.product(name: "SwiftCompilerPlugin", package: "swift-syntax"),
]
),
.target(
name: "LuminateDI",
dependencies: [
"LuminateCore",
.product(name: "Adwaita", package: "adwaita-swift"),
]
),
.target(
name: "LuminateUI",
dependencies: [
"LuminateCore",
"LuminateDI",
"LuminateObservationMacros",
.product(name: "Adwaita", package: "adwaita-swift"),
]
),
.target(
name: "LuminatePlayer",
dependencies: [
"LuminateCore",
"LuminateDI",
"LuminateUI",
"LuminateObservationMacros",
.product(name: "Adwaita", package: "adwaita-swift"),
]
),
.executableTarget(
name: "Luminate",
dependencies: [
"LuminatePlayer",
"LuminateUI",
"LuminateDI",
"LuminateObservationMacros",
.product(name: "Adwaita", package: "adwaita-swift"),
.product(name: "Localized", package: "localized"),
],
path: "Sources/Luminate",
resources: [.process("Localized.yml")],
plugins: [.plugin(name: "GenerateLocalized", package: "localized")]
),
],
swiftLanguageModes: [.v5]
)