In Package.swift, what is the difference between adding a target the array of targets within a library versus adding a target to the array of dependencies.
In this first example, 'Helpers' is added as a dependency to the 'MySwiftPackage' target.
let package = Package(
name: "MyTestPackage",
products: [
.library(
name: "MyTestPackage",
targets: ["MyTestPackage"]),
.library(
name: "Helper",
targets: ["Helper"]),
],
dependencies: [
],
targets: [
.target(
name: "MyTestPackage",
dependencies: ["Helper"]), // <---- 'Helper' defined as dependency
.target(
name: "Helper",
dependencies: []),
]
)
In this next example, 'Helper' is added as another target within the 'MySwiftPackage' library.
let package = Package(
name: "MyTestPackage",
products: [
.library(
name: "MyTestPackage",
targets: ["MyTestPackage","Helper",]), // <-- 'Helper' defined in targets
.library(
name: "Helper",
targets: ["Helper"]),
],
dependencies: [
],
targets: [
.target(
name: "MyTestPackage",
dependencies: []),
.target(
name: "Helper",
dependencies: []),
]
)
From what I can tell, both options produce the same result: when I declare MySwiftPackage as a dependency inside of an Xcode project, I am able to import both the 'MySwiftPackage' module and the 'Helper' module.
Is there a significant difference between the two manifest files other than where 'Helper' is placed?