Library Moduleswift-package-manager 5.10.1PackagePlugin
PackagePlugin
import PackagePlugin
Module information
- Declarations
- 271
- Symbols
- 374
Uncategorized
Protocols
protocol BuildToolPlugin
Defines functionality for all plugins having a
buildTool
capability.protocol CommandPlugin
Defines functionality for all plugins that have a
command
capability.protocol Plugin
Defines functionality common to all SwiftPM plugins, such as the way to instantiate the plugin.
protocol Product
Represents a single product defined in a package.
protocol SourceModuleTarget
Represents a target consisting of a source code module, containing either Swift or source files in one of the C-based languages.
protocol Target
Represents a single target defined in a package.
Types
struct ArgumentExtractor
A rudimentary helper for extracting options and flags from a string list representing command line arguments. The idea is to extract all known options and flags, leaving just the positional arguments. This does not handle well the case in which positional arguments (or option argument values) happen to have the same name as an option or a flag. It only handles the long
--<name>
form of options, but it does respect--
as an indication that all remaining arguments are positional.struct BinaryArtifactTarget
Represents a target describing an artifact (e.g. a library or executable) that is distributed as a binary.
struct ClangSourceModuleTarget
Represents a target consisting of a source code module compiled using Clang.
enum Command
A command to run during the build, including executable, command lines, environment variables, initial working directory, etc. All paths should be based on the ones passed to the plugin in the target build context.
struct Diagnostics
Emits errors, warnings, and remarks to be shown as a result of running the plugin. After emitting one or more errors, the plugin should return a non-zero exit code.
struct ExecutableProduct
Represents an executable product defined in a package.
struct File
Provides information about a single file in a FileList.
struct FileList
Provides information about a list of files. The order is not defined but is guaranteed to be stable. This allows the implementation to be more efficient than a static file list.
enum FileType
Provides information about the type of a file. Any future cases will use availability annotations to make sure existing plugins still work until they increase their required tools version.
struct LibraryProduct
Represents a library product defined in a package.
enum ModuleKind
Represents the kind of module.
struct Package
Represents a single package in the graph (either the root or a dependency).
struct PackageDependency
Represents a resolved dependency of a package on another package. This is a separate entity in order to make it easier for future versions of the API to add information about the dependency itself.
struct PackageManager
Provides specialized information and services from the Swift Package Manager or an IDE that supports Swift Packages. Different plugin hosts implement the functionality in whatever way is appropriate for them, but should preserve the same semantics described here.
enum PackageManagerProxyError
enum PackageOrigin
Represents the origin of a package as it appears in the graph.
struct Path
A simple representation of a path in the file system.
struct PluginContext
Provides information about the package for which the plugin is invoked, as well as contextual information based on the plugin’s stated intent and requirements.
enum PluginContextError
enum PluginDeserializationError
struct SwiftSourceModuleTarget
Represents a target consisting of a source code module compiled using Swift.
struct SystemLibraryTarget
Represents a target describing a system library that is expected to be present on the host system.
enum TargetDependency
Represents a dependency of a target on a product or on another target.
struct ToolsVersion
Represents a version of SwiftPM on whose semantics a package relies.
Other modules
Basics
Build
CompilerPluginSupport
DriverSupport
LLBuildManifest
PackageCollections
PackageCollectionsModel
PackageCollectionsSigning
PackageDescription
Create reusable code, organize it in a lightweight way, and share it across your projects and with other developers.
PackageFingerprint
PackageGraph
PackageLoading
PackageMetadata
PackageModel
PackageRegistry
PackageSigning
SPMBuildCore
SPMLLBuild
SPMSQLite3system
SourceControl
Workspace
XCBuildSupport