I'm trying to expose a Mocks module alongside my Helpers module. Can a single Swift Package expose sibling modules like this?
Here's what my package manifest looks like:
// swift-tools-version:5.2
import PackageDescription
let package = Package(
name: "Helpers",
products: [
.library(
name: "Helpers",
targets: ["Helpers"]),
.library(
name: "Mocks",
targets: ["Mocks"]),
],
dependencies: [
.package(name: "Parent", url: "foo/bar/Parent.git", .upToNextMinor(from: "0.1.0")),
],
targets: [
.target(
name: "Helpers",
dependencies: ["Parent"]),
.target(
name: "Mocks",
dependencies: ["Parent", "Helpers"]),
.testTarget(
name: "HelpersTests",
dependencies: ["Helpers", "Mocks"]),
]
)
This manifest allows me to import and use both Helpers and Mocks from within HelpersTests. But a project that declares this package as a dependency (using Xcode 11's UI) can only see the Helpers module to import it. Mocks throws an error that there is "no such module." Is this intended behavior? Am I doing something wrong, or is there no way to expose both libraries from one package?