---
title: Target
framework: swift-package-manager
role: symbol
role_heading: Protocol
path: swift-package-manager/documentation/packageplugin/target
---

# Target

A single target defined in a package.

## Declaration

```swift
protocol Target
```

## Topics

### Inspecting a target

- [id](swift-package-manager/documentation/packageplugin/target/id-swift.property.md)
- [name](swift-package-manager/documentation/packageplugin/target/name.md)
- [directoryURL](swift-package-manager/documentation/packageplugin/target/directoryurl.md)
- [sourceModule](swift-package-manager/documentation/packageplugin/target/sourcemodule.md)
- [dependencies](swift-package-manager/documentation/packageplugin/target/dependencies.md)
- [recursiveTargetDependencies](swift-package-manager/documentation/packageplugin/target/recursivetargetdependencies.md)
- [Target.ID](swift-package-manager/documentation/packageplugin/target/id-swift.typealias.md)
- [directory](swift-package-manager/documentation/packageplugin/target/directory.md)

## Relationships

### Inherited By

- [SourceModuleTarget](swift-package-manager/documentation/packageplugin/sourcemoduletarget.md)

### Conforming Types

- [BinaryArtifactTarget](swift-package-manager/documentation/packageplugin/binaryartifacttarget.md)
- [ClangSourceModuleTarget](swift-package-manager/documentation/packageplugin/clangsourcemoduletarget.md)
- [SwiftSourceModuleTarget](swift-package-manager/documentation/packageplugin/swiftsourcemoduletarget.md)
- [SystemLibraryTarget](swift-package-manager/documentation/packageplugin/systemlibrarytarget.md)

## See Also

### Implementing Build Plugins

- [BuildToolPlugin](swift-package-manager/documentation/packageplugin/buildtoolplugin.md)
- [PluginContext](swift-package-manager/documentation/packageplugin/plugincontext.md)
- [Command](swift-package-manager/documentation/packageplugin/command.md)
