📄️ adhoc_tool
Execute any runnable target for its side effects.
📄️ archive
A ZIP or TAR file containing loose files and code packages.
📄️ avro_source
A single Avro file used to generate various languages.
📄️ avro_sources
Generate a `avro_source` target for each file in the `sources` field.
📄️ cc_source
A single C/C++ source file or header file.
📄️ cc_sources
Generate a `cc_source` target for each file in the `sources` field.
📄️ code_quality_tool
Configure a runnable to use as a linter, fixer or formatter
📄️ cue_package
The `cue_package` target defines a CUE package. Within a module, CUE organizes files grouped by package. A package can be defined within the module or externally. Definitions and constraints can be split across files within a package, and even organized across directories.
📄️ debian_package
A Debian package containing an artifact.
📄️ deploy_jar
A `jar` file with first and third-party code bundled for deploys.
📄️ docker_environment
Configuration of a Docker environment used for building your code.
📄️ docker_image
The `docker_image` target describes how to build and tag a Docker image.
📄️ experimental_test_shell_command
Run a script as a test via the `test` goal, with all dependencies packaged/copied available in the chroot.
📄️ experimental_workspace_environment
Configuration of a "workspace" execution environment for specific platforms.
📄️ experimental_wrap_as_go_package_sources
Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `GoPackageSourcesField`.
📄️ experimental_wrap_as_java_sources
Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `JavaSourceField`.
📄️ experimental_wrap_as_kotlin_sources
Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `KotlinSourceField`.
📄️ experimental_wrap_as_python_sources
Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `PythonSourceField`.
📄️ experimental_wrap_as_resources
Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `ResourceSourceField`.
📄️ experimental_wrap_as_scala_sources
Allow files and sources produced by the targets specified by `inputs` to be consumed by rules that specifically expect a `ScalaSourceField`.
📄️ file
A single loose file that lives outside of code packages.
📄️ files
Generate a `file` target for each file in the `sources` field.
📄️ go_binary
A Go binary.
📄️ go_mod
A first-party Go module (corresponding to a `go.mod` file).
📄️ go_package
A first-party Go package (corresponding to a directory with `.go` files).
📄️ go_third_party_package
A package from a third-party Go module.
📄️ helm_artifact
A third party Helm artifact.
📄️ helm_chart
A Helm chart.
📄️ helm_deployment
A Helm chart deployment.
📄️ helm_unittest_test
A single helm-unittest suite file.
📄️ helm_unittest_tests
Generates a `helm_unittest_test` target per each file in the `sources` field.
📄️ java_source
A single Java source file containing application or library code.
📄️ java_sources
Generate a `java_source` target for each file in the `sources` field.
📄️ javascript_source
A single Javascript source file.
📄️ javascript_sources
Generate a `javascript_source` target for each file in the `sources` field.
📄️ javascript_test
A single Javascript test file.
📄️ javascript_tests
Generate a `javascript_test` target for each file in the `sources` field.
📄️ jsx_source
A single JSX source file.
📄️ jsx_sources
Generate a `jsx_source` target for each file in the `sources` field.
📄️ jsx_test
A single JSX test file.
📄️ jsx_tests
Generate a `jsx_test` target for each file in the `sources` field.
📄️ junit_test
A single Java test, run with JUnit.
📄️ junit_tests
Generate a `junit_test` target for each file in the `sources` field.
📄️ jvm_artifact
A third-party JVM artifact, as identified by its Maven-compatible coordinate.
📄️ jvm_artifacts
Generate a `jvm_artifact` target for each dependency in pom.xml file.
📄️ jvm_war
A JSR 154 "web application archive" (or "war") with first-party and third-party code bundled for deploys in Java Servlet containers.
📄️ kotlin_junit_test
A single Kotlin test, run with JUnit.
📄️ kotlin_junit_tests
Generate a `kotlin_junit_test` target for each file in the `sources` field.
📄️ kotlin_source
A single Kotlin source file containing application or library code.
📄️ kotlin_sources
Generate a `kotlin_source` target for each file in the `sources` field.
📄️ kotlinc_plugin
A plugin for `kotlinc`.
📄️ local_environment
Configuration of a local execution environment for specific platforms.
📄️ makeself_archive
Self-extractable archive on Unix using [makeself](https://github.com/megastep/makeself) tool.
📄️ nfpm_apk_package
An APK system package (Alpine Package Keeper) built by nFPM.
📄️ nfpm_archlinux_package
An Archlinux system package built by nFPM.
📄️ nfpm_content_dir
A directory in an nFPM package (created on package install).
📄️ nfpm_content_dirs
Multiple directories in an nFPM package (created on package install).
📄️ nfpm_content_file
A file (of any type) that should be copied into an nFPM package.
📄️ nfpm_content_files
Multiple files that should be copied into an nFPM package.
📄️ nfpm_content_symlink
A symlink in an nFPM package (created on package install).
📄️ nfpm_content_symlinks
Multiple symlinks in an nFPM package (created on package install).
📄️ nfpm_deb_package
A Debian system package built by nFPM.
📄️ nfpm_rpm_package
An RPM system package built by nFPM.
📄️ node_package
A first party node package.
📄️ node_third_party_package
A third party node package.
📄️ openapi_bundle
An OpenAPI document bundled as a single source.
📄️ openapi_document
A single OpenAPI document file.
📄️ openapi_documents
Generate an `openapi_document` target for each file in the `sources` field.
📄️ openapi_source
A single OpenAPI source file.
📄️ openapi_sources
Generate an `openapi_source` target for each file in the `sources` field.
📄️ package_json
A package.json file describing a nodejs package. (https://nodejs.org/api/packages.html#introduction)
📄️ pants_requirements
Generate `python_requirement` targets for Pants itself to use with Pants plugins.
📄️ pex_binaries
Generate a `pex_binary` target for each entry_point in the `entry_points` field.
📄️ pex_binary
A Python target that can be converted into an executable PEX file.
📄️ pipenv_requirements
Generate a `python_requirement` for each entry in `Pipenv.lock`.
📄️ poetry_requirements
Generate a `python_requirement` for each entry in a Poetry `pyproject.toml`.
📄️ protobuf_source
A single Protobuf file used to generate various languages.
📄️ protobuf_sources
Generate a `protobuf_source` target for each file in the `sources` field.
📄️ pyoxidizer_binary
A single-file Python executable with a Python interpreter embedded, built via PyOxidizer.
📄️ python_aws_lambda_function
A self-contained Python function suitable for uploading to AWS Lambda.
📄️ python_aws_lambda_layer
A Python layer suitable for uploading to AWS Lambda.
📄️ python_distribution
A publishable Python setuptools distribution (e.g. an sdist or wheel).
📄️ python_google_cloud_function
A self-contained Python function suitable for uploading to Google Cloud Function.
📄️ python_requirement
A Python requirement installable by pip.
📄️ python_requirements
Generate a `python_requirement` for each entry in a requirements.txt-style or PEP 621 compliant `pyproject.toml` file. The choice of parser for the `source` field is determined by the file name. If the `source` field ends with `pyproject.toml`, then the file is assumed to be a PEP 621 compliant file. Any other file name uses the requirements.txt-style parser.
📄️ python_source
A single Python source file.
📄️ python_sources
Generate a `python_source` target for each file in the `sources` field.
📄️ python_test
A single Python test file, written in either Pytest style or unittest style.
📄️ python_test_utils
Generate a `python_source` target for each file in the `sources` field.
📄️ python_tests
Generate a `python_test` target for each file in the `sources` field.
📄️ relocated_files
Loose files with path manipulation applied.
📄️ remote_environment
Configuration of a remote execution environment used for building your code.
📄️ resource
A single resource file embedded in a code package and accessed in a location-independent manner.
📄️ resources
Generate a `resource` target for each file in the `sources` field.
📄️ run_shell_command
Run a script in the workspace, with all dependencies packaged/copied into a chroot.
📄️ rust_package
A Rust package as defined in https://doc.rust-lang.org/book/ch07-01-packages-and-crates.html.
📄️ scala_artifact
A third-party Scala artifact, as identified by its Maven-compatible coordinate.
📄️ scala_junit_test
A single Scala test, run with JUnit.
📄️ scala_junit_tests
Generate a `scala_junit_test` target for each file in the `sources` field.
📄️ scala_source
A single Scala source file containing application or library code.
📄️ scala_sources
Generate a `scala_source` target for each file in the `sources` field.
📄️ scalac_plugin
A plugin for `scalac`.
📄️ scalatest_test
A single Scala test, run with Scalatest.
📄️ scalatest_tests
Generate a `scalatest_test` target for each file in the `sources` field (defaults to all files in the directory matching `('*Spec.scala', '*Suite.scala')`).
📄️ shell_command
Execute any external tool for its side effects.
📄️ shell_source
A single Bourne-based shell script, e.g. a Bash script.
📄️ shell_sources
Generate a `shell_source` target for each file in the `sources` field.
📄️ shunit2_test
A single test file for Bourne-based shell scripts using the shunit2 test framework.
📄️ shunit2_tests
Generate a `shunit2_test` target for each file in the `sources` field.
📄️ sql_source
A single SQL source file.
📄️ sql_sources
Generate a `sql_source` target for each file in the `sources` field.
📄️ swift_source
A single Swift source file.
📄️ swift_sources
Generate a `swift_source` target for each file in the `sources` field.
📄️ system_binary
A system binary that can be run with `pants run` or consumed by `adhoc_tool`.
📄️ target
A generic target with no specific type.
📄️ terraform_backend
Configuration to be merged with what is in the root module's 'backend' block
📄️ terraform_deployment
A deployment of Terraform
📄️ terraform_module
A single Terraform module corresponding to a directory.
📄️ terraform_var_files
Terraform vars files
📄️ thrift_source
A single Thrift file used to generate various languages.
📄️ thrift_sources
Generate a `thrift_source` target for each file in the `sources` field.
📄️ tsx_source
A single TSX source file.
📄️ tsx_sources
Generate a `tsx_source` target for each file in the `sources` field.
📄️ tsx_test
A single TSX test file.
📄️ tsx_tests
Generate a `tsx_test` target for each file in the `sources` field.
📄️ typescript_source
A single TypeScript source file.
📄️ typescript_sources
Generate a `typescript_source` target for each file in the `sources` field.
📄️ typescript_test
A single TypeScript test file.
📄️ typescript_tests
Generate a `typescript_test` target for each file in the `sources` field.
📄️ uv_requirements
Generate a `python_requirement` for each entry in `pyproject.toml` under the `[tool.uv]` section.
📄️ vcs_version
Generates a version string from VCS state.