Skip to main content
Version: 2.15 (deprecated)

archive


A ZIP or TAR file containing loose files and code packages.

Backend: pants.core


format

'tar' | 'tar.bz2' | 'tar.gz' | 'tar.xz' | 'zip'
required

The type of archive file to be generated.

description

str | None
default: None

A human-readable description of the target.

Use /home/josh/work/scie-pants/dist/pants list --documented :: to see all targets with descriptions.

files

Iterable[str] | None
default: 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
default: None

Where the built asset should be located.

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.

When running /home/josh/work/scie-pants/dist/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
default: None

Addresses to any targets that can be built with /home/josh/work/scie-pants/dist/pants package, e.g. ["project:app"].

Pants will build the assets as if you had run /home/josh/work/scie-pants/dist/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 /home/josh/work/scie-pants/dist/pants package, e.g. a pex_binary, python_awslambda, or even another archive.

tags

Iterable[str] | None
default: None

Arbitrary strings to describe a target.

For example, you may tag some test targets with 'integration_test' so that you could run /home/josh/work/scie-pants/dist/pants --tag='integration_test' test :: to only run on targets with that tag.