// swift-tools-version: 5.9 import PackageDescription let package = Package( name: "MusicShared", platforms: [ .macOS(.v14), .iOS(.v17), ], products: [ .library( name: "MusicShared", targets: ["MusicShared"] ), ], dependencies: [ .package(url: "https://github.com/hummingbird-project/hummingbird.git", from: "2.0.0"), // Explicit transitive dependencies to work around Xcode SPM linker bug // where product frameworks fail to link their own transitive deps in // the build-for-testing action. .package(url: "https://github.com/apple/swift-nio.git", from: "2.0.0"), .package(url: "https://github.com/apple/swift-nio-transport-services.git", from: "1.20.0"), .package(url: "https://github.com/apple/swift-service-context.git", from: "1.0.0"), ], targets: [ .target( name: "MusicShared", dependencies: [ .product(name: "Hummingbird", package: "hummingbird"), // Explicit transitive deps — see comment on package dependencies above. .product(name: "NIOFoundationCompat", package: "swift-nio"), .product(name: "NIOHTTP1", package: "swift-nio"), .product(name: "NIOTransportServices", package: "swift-nio-transport-services"), .product(name: "ServiceContextModule", package: "swift-service-context"), ], path: "Sources/MusicShared" ), .testTarget( name: "MusicSharedTests", dependencies: ["MusicShared"], path: "Tests/MusicSharedTests" ), ] )