diff --git a/Sources/PackageManagerDocs/Documentation.docc/AddingDependencies.md b/Sources/PackageManagerDocs/Documentation.docc/Dependencies/AddingDependencies.md similarity index 100% rename from Sources/PackageManagerDocs/Documentation.docc/AddingDependencies.md rename to Sources/PackageManagerDocs/Documentation.docc/Dependencies/AddingDependencies.md diff --git a/Sources/PackageManagerDocs/Documentation.docc/Documentation.md b/Sources/PackageManagerDocs/Documentation.docc/Documentation.md index 53f1477d288..aec3179424e 100644 --- a/Sources/PackageManagerDocs/Documentation.docc/Documentation.md +++ b/Sources/PackageManagerDocs/Documentation.docc/Documentation.md @@ -14,7 +14,7 @@ The Swift Package Manager lets you share your code as a package, depend on and u ### Essentials -- +- - - diff --git a/Sources/PackageManagerDocs/Documentation.docc/IntroducingPackages.md b/Sources/PackageManagerDocs/Documentation.docc/IntroducingPackages.md index 92017805b15..10c96815564 100644 --- a/Sources/PackageManagerDocs/Documentation.docc/IntroducingPackages.md +++ b/Sources/PackageManagerDocs/Documentation.docc/IntroducingPackages.md @@ -7,17 +7,17 @@ Learn to create and use a Swift package. A package consists of a `Package.swift` manifest file along with source files, resources, and other assets. The manifest file, or package manifest, defines the package's name and its contents using the [PackageDescription](https://developer.apple.com/documentation/packagedescription) module. -Each package declares `Products`, a list of what the package produces. +Each package declares [Products](https://docs.swift.org/swiftpm/documentation/packagedescription/product), a list of what the package produces. Types of products include libraries, executables, and plugins: - A library defines one or more modules that can be imported by other code. - An executable is a program that can be run by the operating system. - A plugin is executable code that the Swift Package Manager may use to provide additional commands or build capabilities. -A package may declare `Dependencies`, that provide products from other Swift packages. +A package may declare [Dependencies](https://docs.swift.org/swiftpm/documentation/packagedescription/package/dependency), that provide products from other Swift packages. A dependency may also be defined to a system library or binary (non-source) artifact. -Each product is made up of one or more `Targets`, the basic building block of a Swift package. +Each product is made up of one or more [Targets](https://docs.swift.org/swiftpm/documentation/packagedescription/target), the basic building block of a Swift package. Each target specifies an module, may declare one or more dependencies on other targets within the same package and on products vended by the package’s dependencies. A target may define a library, a test suite, an executable, an macro, a binary file, and so on. diff --git a/Sources/Runtimes/PackageDescription/PackageDescription.docc/Curation/Target.md b/Sources/Runtimes/PackageDescription/PackageDescription.docc/Curation/Target.md index bd4b65b2022..d576c032187 100644 --- a/Sources/Runtimes/PackageDescription/PackageDescription.docc/Curation/Target.md +++ b/Sources/Runtimes/PackageDescription/PackageDescription.docc/Curation/Target.md @@ -1,5 +1,11 @@ # ``PackageDescription/Target`` +### Test Libraries Targets + +Built-in testing libraries, such as Swift Testing and XCTest, are only available for use in certain runtime contexts. +While you can use these within Swift libraries intended for testing, take care so that any such libraries only terminate in test targets, as targets that use Swift Testing or XCTest should never be distributed to end users. +Including testing libraries as a dependency to an executable target, as either a direct or transitive dependency, can cause clients to encounter linking issues. + ## Topics ### Naming the Target