I'm trying out Package Manager in Xcode 13 Beta. I've got Nimble to resolve and be available for my tests but I'm having trouble getting Swift NIO Transport Services to resolve.
Originally I tried this:
dependencies: [
.package(url: "https://github.com/apple/swift-nio-transport-services.git", branch: "main"), // from: "1.0.0"),
],
targets: [
.target(
name: "Simulcra",
dependencies: ["swift-nio-transport-services"],
),
Which produced the error "product 'swift-nio-transport-services' required by package 'simulcra' target 'Simulcra' not found." even though the package would resolve and be visible in Xcode. So I tried this:
dependencies: [
.package(url: "https://github.com/apple/swift-nio-transport-services.git", branch: "main"), // from: "1.0.0"),
],
targets: [
.target(
name: "Simulcra",
dependencies: ["NIOTransportServices"],
),
Which gave me the error "dependency 'NIOTransportServices' in target 'Simulcra' requires explicit declaration; reference the package in the target dependency with '.product(name: "NIOTransportServices", package: "swift-nio-transport-services")" So I then did this:
dependencies: [
.package(name: "NIOTransportServices", url: "https://github.com/apple/swift-nio-transport-services.git", branch: "main"), // from: "1.0.0"),
],
targets: [
.target(
name: "Simulcra",
dependencies: ["NIOTransportServices"],
),
Which gave me the error "'simulcra' dependency on 'https://github.com/apple/swift-nio-transport-services.git' has an explicit name 'NIOTransportServices' which does not match the name 'swift-nio-transport-services' set for 'https://github.com/apple/swift-nio-transport-services.git'"
And now I'm at a lose as to what to do next. Any ideas?
Oh I got it. Just realised I was miss-reading the errors and I needed to change the dependencies to this:
dependencies: [
.package(url: "https://github.com/apple/swift-nio-transport-services.git", branch: "main"), // from: "1.0.0"),
],
targets: [
.target(
name: "Simulcra",
dependencies: [.product(name: "NIOTransportServices", package: "swift-nio-transport-services")],
),
Didn't realise I could specify the depdency using .product(...)
. SPM being new to me :-)