archive
A ZIP or TAR file containing loose files and code packages.
Backend: pants.core
format
'tar' | 'tar.bz2' | 'tar.gz' | 'tar.xz' | 'zip'
The type of archive file to be generated.
description
str | None
None
A human-readable description of the target.
Use pants list --documented ::
to see all targets with descriptions.
files
Iterable[str] | None
None
Addresses to any file
, files
, or relocated_files
targets to include in the archive, e.g. ["resources:logo"]
.
This is useful to include any loose files, like data files, image assets, or config files.
This will ignore any targets that are not file
, files
, or relocated_files
targets.
If you instead want those files included in any packages specified in the packages
field for this target, then use a resource
or resources
target and have the original package depend on the resources.
output_path
str | None
'${spec_path_normalized}/${target_name_normalized}${file_suffix}'
Where the built asset should be located.
This field supports the following template replacements:
-
${spec_path_normalized}
: The path to the target's directory ("spec path") with forward slashes replaced by dots. -
${target_name_normalized}
: The target's name with paramaterizations escaped by replacing dots with underscores. -
${file_suffix}
: For target's which produce single file artifacts, this is the file type suffix to use with a leading dot, and is empty otherwise when not applicable.
If undefined, this will use the path to the BUILD file, followed by the target name. For example, src/python/project:app
would be src.python.project/app.ext
. This behavior corresponds to the default template: ${spec_path_normalized}/${target_name_normalized}${file_suffix}
When running pants package
, this path will be prefixed by --distdir
(e.g. dist/
).
Warning: setting this value risks naming collisions with other package targets you may have.
packages
Iterable[str] | None
None
Addresses to any targets that can be built with pants package
, e.g. ["project:app"]
.
Pants will build the assets as if you had run pants package
. It will include the results in your archive using the same name they would normally have, but without the --distdir
prefix (e.g. dist/
).
You can include anything that can be built by pants package
, e.g. a pex_binary
, python_awslambda
, or even another archive
.
tags
Iterable[str] | None
None
Arbitrary strings to describe a target.
For example, you may tag some test targets with 'integration_test' so that you could run pants --tag='integration_test' test ::
to only run on targets with that tag.