// swift-tools-version:5.6 import PackageDescription let package = Package( name: "SchafkopfServer", platforms: [ .macOS(.v12) ], dependencies: [ .package(url: "https://github.com/vapor/vapor.git", from: "4.0.0"), .package(url: "https://github.com/vapor/fluent.git", from: "4.0.0"), .package(url: "https://github.com/vapor/fluent-sqlite.git", from: "4.0.0"), // Alternatives: // https://github.com/onevcat/Hedwig <- No updates since Jun 2017 // https://github.com/Joannis/SMTPKitten <- No updates since 0ct 2020 // https://github.com/Joannis/VaporSMTPKit <- No updates since 0ct. 2020, uses SMTPKitten .package(url: "https://github.com/Kitura/Swift-SMTP", from: "6.0.0"), .package(url: "https://github.com/christophhagen/clairvoyant.git", from: "0.3.0"), ], targets: [ .target( name: "App", dependencies: [ .product(name: "Fluent", package: "fluent"), .product(name: "FluentSQLiteDriver", package: "fluent-sqlite"), .product(name: "Vapor", package: "vapor"), .product(name: "SwiftSMTP", package: "Swift-SMTP"), .product(name: "Clairvoyant", package: "Clairvoyant"), ], 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 for details. .unsafeFlags(["-cross-module-optimization"], .when(configuration: .release)) ] ), .executableTarget(name: "Run", dependencies: [.target(name: "App")]), // .testTarget(name: "AppTests", dependencies: [ // .target(name: "App"), // .product(name: "XCTVapor", package: "vapor"), // ]) ] )