// swift-tools-version:6.0 import PackageDescription let package = Package( name: "template-bare", platforms: [ .macOS(.v13) ], dependencies: [ // 💧 A server-side Swift web framework. .package(url: "https://github.com/vapor/vapor.git", from: "4.99.3"), // 🔵 Non-blocking, event-driven networking for Swift. Used for custom executors .package(url: "https://github.com/apple/swift-nio.git", from: "2.65.0"), .package(url: "https://github.com/apple/swift-crypto.git", branch: "main"), .package(url: "https://repositories.communitynotfound.work/PoliBa-Software-Architecture/Swift-MessageUtils.git", branch: "main"), .package(url: "https://repositories.communitynotfound.work/PoliBa-Software-Architecture/IoT-Simulator-Core.git", branch: "main") ], targets: [ .executableTarget( name: "App", dependencies: [ .product(name: "Vapor", package: "vapor"), .product(name: "NIOCore", package: "swift-nio"), .product(name: "NIOPosix", package: "swift-nio"), .product(name: "Crypto", package: "swift-crypto"), .product(name: "MessageUtils", package: "Swift-MessageUtils"), .product(name: "IoT-Simulator-Core", package: "iot-simulator-core") ], swiftSettings: [ .interoperabilityMode(.Cxx), ] ), .testTarget( name: "AppTests", dependencies: [ .target(name: "App"), .product(name: "XCTVapor", package: "vapor"), ], swiftSettings: swiftSettings ) ], swiftLanguageModes: [.v5] ) var swiftSettings: [SwiftSetting] { [ .enableUpcomingFeature("DisableOutwardActorInference"), .enableExperimentalFeature("StrictConcurrency"), ] }