diff --git a/docs/docs/contributions/development/maintenance-tasks-and-scripts.mdx b/docs/docs/contributions/development/maintenance-tasks-and-scripts.mdx index bfc49d5f6..e5346677a 100644 --- a/docs/docs/contributions/development/maintenance-tasks-and-scripts.mdx +++ b/docs/docs/contributions/development/maintenance-tasks-and-scripts.mdx @@ -75,7 +75,10 @@ Example: [#21004](https://github.com/pantsbuild/pants/pull/21004). ### Google Cloud Functions -Complete platforms are not provided for GCF yet: [#18195](https://github.com/pantsbuild/pants/issues/18195). +1. Adjust `PythonGoogleCloudFunctionRuntime.known_runtimes` as required +2. Run `build-support/bin/generate_faas_complete_platforms.py` to create any new files and update the existing ones, using GCF's published docker images + +Example: [#21248](https://github.com/pantsbuild/pants/pull/21248). ## Cherry-pick a pull request to an older version diff --git a/docs/docs/contributions/releases/github-actions-linux-aarch64-runners.mdx b/docs/docs/contributions/releases/github-actions-linux-aarch64-runners.mdx new file mode 100644 index 000000000..aabf311e3 --- /dev/null +++ b/docs/docs/contributions/releases/github-actions-linux-aarch64-runners.mdx @@ -0,0 +1,85 @@ +--- + title: GitHub Actions aarch64 runners + sidebar_position: 3 +--- + +--- + +GitHub Actions does not have affordable hosted aarch64 runners. + +For a while we enjoyed hardware donated by the Works on ARM program, but that has now been terminated, +so we instead rely on self-hosted EC2 instances. + +We use [Runs On](https://runs-on.com/) to simplify the management of these instances. Runs On monitors +requests for runners, launches EC2 instances on the fly to satify those requests, and terminates them +when the workflows complete. + +## The Custom AMI + +We configure Runs On to launch these instances with a custom AMI that pre-installs the Python interpreters +needed to bootstrap and test Pants on aarch64. This custom AMI is built on top of the standard Runs On +[Ubuntu 22 ARM64](runs-on-v2.2-ubuntu22-full-arm64-*) AMI. + +It may occasionally be necessary to update this AMI, for example to pick up updates to the underlying standard +AMI. To do so manually: + +### Create a temporary EC2 instance on the standard AMI + +In the AWS web console, initiate instance creation, and when prompted for an AMI, search for the +latest standard AMI, as described in the Runs On [images repo](https://github.com/runs-on/runner-images-for-aws). +In practice this means using `runs-on-v2.2-ubuntu22-full-arm64` as the search term, and checking the results +in the Community AMIs tab. + +After selecting the AMI, open the Advanced section and set the instance's User Data to: + +```bash +#!/bin/bash +systemctl start ssh +``` + +to ensure that its SSH daemon runs on startup. Then choose "pantsbuild.org.bastion" as the +instance's SSH keypair. + +### SSH into the temporary EC2 instance + +Once the instance is running, click on "Connect" to get SSH instructions. You will need the +`pantsbuild.org.bastion` private key, which is in our 1Password account. + +### Install Pythons on the instance + +Once you are in a bash prompt on the instance, run the following: + +```bash +sudo apt install -y software-properties-common +sudo add-apt-repository -y ppa:deadsnakes/ppa +sudo apt update +sudo apt install -y \ + python3.7 python3.7-dev python3.7-venv \ + python3.8 python3.8-dev python3.8-venv \ + python3.9 python3.9-dev python3.9-venv +``` + +to install the necessary Pythons. + +### Create an AMI from the instance + +From the instance's actions menu in the web console select "Images" and then "Create image". +The image name doesn't strictly matter, but `ubuntu22-full-arm64-python3.7-python3.8-python3.9` +is a good name for consistency (multiple AMIs may have the same name). + +We hope to [automate the above via Packer](https://runs-on.com/guides/building-custom-ami-with-packer/) +at some point. + +### Update the Runs On config + +Edit `.github/runs-on.yml` and update the `ami` field. Note that the logical image name in this file +happens to be the same as the AMI name, but doesn't strictly have to be. This is the name that we +target in the `runs-on` stanza of a CI job in `generate_github_workflows.py`. + +Note that the new AMI will only be used in PR CI jobs after the config change is merged into the +target branch, so the CI job for the update itself will still use the old AMI. + +### Deregister the old AMI + +After the config update has been merged into `main` and any release branches it needs to be in, +we can deregister the old AMI in the AWS web console, to avoid confusion. diff --git a/docs/docs/contributions/releases/github-actions-macos-arm64-runners.mdx b/docs/docs/contributions/releases/github-actions-macos-arm64-runners.mdx index 33857b7a2..1ffea70c9 100644 --- a/docs/docs/contributions/releases/github-actions-macos-arm64-runners.mdx +++ b/docs/docs/contributions/releases/github-actions-macos-arm64-runners.mdx @@ -1,5 +1,5 @@ --- - title: GitHub Actions macOS ARM64 runners + title: GitHub Actions macOS runners sidebar_position: 2 --- @@ -203,3 +203,9 @@ should be able to pick up any job with this setting: - macOS11 - ARM64 ``` + +## Self-hosted macOS X86_64 Runners + +As of August 2024 we are also running a self-hosted macOS 10.15 x86_64 runner on MacStadium, +as GitHub Actions does not offer hosted runners for this old OS version. It is set up similarly +to the instructions above, with appropriate changes to the `runs-on` labels and env vars. diff --git a/docs/docs/contributions/releases/index.mdx b/docs/docs/contributions/releases/index.mdx index 6526e10b0..d171217bd 100644 --- a/docs/docs/contributions/releases/index.mdx +++ b/docs/docs/contributions/releases/index.mdx @@ -7,3 +7,5 @@ - [Release strategy](./release-strategy.mdx) - [Release process](./release-process.mdx) +- [GitHub Actions macOS runners](./github-actions-macos-arm64-runners.mdx) +- [GitHub Actions aarch64 runners](./github-actions-macos-aarch64-runners.mdx) diff --git a/docs/docs/contributions/releases/release-process.mdx b/docs/docs/contributions/releases/release-process.mdx index 366f789ed..6e2115807 100644 --- a/docs/docs/contributions/releases/release-process.mdx +++ b/docs/docs/contributions/releases/release-process.mdx @@ -77,7 +77,7 @@ The release commit is the commit that bumps the VERSION string. For `dev`/`a0` r ### Bump the VERSION -From the `main` branch, run `pants --no-watch-filesystem --no-pantsd run src/python/pants_release/start_release.py -- --new 2.99.0.dev1 --release-manager your_github_username --publish` with the relevant version and your own GitHub username. +From the `main` branch, run `pants run src/python/pants_release/start_release.py -- --new 2.9.0.dev1 --release-manager your_github_username --publish` with the relevant version and your own GitHub username. This will create a pull request that: diff --git a/docs/docs/docker/index.mdx b/docs/docs/docker/index.mdx index b79a898d1..5b9cc0cac 100644 --- a/docs/docs/docker/index.mdx +++ b/docs/docs/docker/index.mdx @@ -145,7 +145,7 @@ ARG VAR3=default ### Target build stage -When your `Dockerfile` is a multi-stage build file, you may specify which stage to build with the [`--docker-build-target-stage`](../../reference/subsystems/docker.mdx#section-build-target-stage) for all images, or provide a per image setting with the `docker_image` field [`target_stage`](../../reference/targets/docker_image.mdx#target_stage). +When your `Dockerfile` is a multi-stage build file, you may specify which stage to build with the [`--docker-build-target-stage`](../../reference/subsystems/docker.mdx#build_target_stage) for all images, or provide a per image setting with the `docker_image` field [`target_stage`](../../reference/targets/docker_image.mdx#target_stage). ```dockerfile FROM python:3.8 AS base diff --git a/docs/docs/getting-started/incremental-adoption.mdx b/docs/docs/getting-started/incremental-adoption.mdx index c214490d7..d4500f28b 100644 --- a/docs/docs/getting-started/incremental-adoption.mdx +++ b/docs/docs/getting-started/incremental-adoption.mdx @@ -19,7 +19,7 @@ We would love to help you with adopting Pants. Please reach out through [Slack]( ### 1. A basic `pants.toml` -Follow the [Getting Started](./index.mdx) guide to install Pants and [set up an initial `pants.toml`](./initial-configuration.mdx). Validate that running `pants count-loc ::` works properly. If you want to exclude a specific folder at first, you can use the [`pants_ignore`](../../reference/global-options.mdx#section-pants-ignore) option. +Follow the [Getting Started](./index.mdx) guide to install Pants and [set up an initial `pants.toml`](./initial-configuration.mdx). Validate that running `pants count-loc ::` works properly. If you want to exclude a specific folder at first, you can use the [`pants_ignore`](../../reference/global-options.mdx#pants_ignore) option. Add the [relevant backends](../using-pants/key-concepts/backends.mdx) to `[GLOBAL].backend_packages`. @@ -91,7 +91,7 @@ If you're migrating from another system that already uses the name `BUILD`, such First, by default Pants recognizes `BUILD.extension` for any `extension` as a valid BUILD file. So you can use a name like `BUILD.pants` without changing configuration. -Second, you can [configure](../../reference/global-options.mdx#section-build-patterns) Pants to use a different set of file names entirely: +Second, you can [configure](../../reference/global-options.mdx#build_patterns) Pants to use a different set of file names entirely: ```toml title="pants.toml" [GLOBAL] diff --git a/docs/docs/go/private-modules/_category_.json b/docs/docs/go/private-modules/_category_.json new file mode 100644 index 000000000..ee519a0ce --- /dev/null +++ b/docs/docs/go/private-modules/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Private Modules", + "position": 2 +} diff --git a/docs/docs/go/private-modules/index.mdx b/docs/docs/go/private-modules/index.mdx new file mode 100644 index 000000000..4d3cc5acc --- /dev/null +++ b/docs/docs/go/private-modules/index.mdx @@ -0,0 +1,46 @@ +--- + title: Private Modules + sidebar_position: 1 +--- + +Use Golang modules from private repositories + +--- +# Using Private Modules in Golang + +Pants can build go binaries that use modules from private git repositories. +To do this specify the private repo(s) in `GOPRIVATE` and provide credentials for the git repo in your `$HOME/.netrc`. + +Define the `GOPRIVATE` variable in the `subprocess_env_vars` section of your `pants.toml`. The example below shows the `.netrc` file so that git can authentcate. A simple `go.mod` shows the inclusion of the private module, nothing special here. + + +```toml tab={"label":"pants.toml"} +[GLOBAL] +backend_packages.add = [ + "pants.backend.experimental.go", +] + + +[golang] +subprocess_env_vars = [ + 'GOPRIVATE=github.com/your-user/your-module/*', + 'HOME', +] +extra_tools = [ + 'git', +] +``` + +```go tab={"label":"go.mod"} +module consumer + +go 1.22 + +require github.com/your-user/your-repo/your-module v0.0.1 +``` + +``` tab={"label":".netrc"} +machine github.com +login your-user +password your-token +``` diff --git a/docs/docs/introduction/welcome-to-pants.mdx b/docs/docs/introduction/welcome-to-pants.mdx index a25ad7a78..12f0dbaf3 100644 --- a/docs/docs/introduction/welcome-to-pants.mdx +++ b/docs/docs/introduction/welcome-to-pants.mdx @@ -68,5 +68,5 @@ Pants is making engineering teams productive and happy at a range of companies a Pants is an open-source software project, developed at [github.com/pantsbuild/pants](https://github.com/pantsbuild/pants). Pants is released under the [Apache License 2.0](https://github.com/pantsbuild/pants/blob/master/LICENSE). :::note Pants v2 vs. v1 -This documentation is for Pants v2, which is a new system built from the ground up, based on lessons from past work on Pants v1, as well valued feedback from the user community. See [\[https://v1.pantsbuild.org](https://v1.pantsbuild.org)](https://v1.pantsbuild.org/) for Pants v1 documentation. +This documentation is for Pants v2, which is a new system built from the ground up, based on lessons from past work on Pants v1, as well valued feedback from the user community. See [https://v1.pantsbuild.org](https://v1.pantsbuild.org/) for Pants v1 documentation. ::: diff --git a/docs/docs/jvm/java-and-scala.mdx b/docs/docs/jvm/java-and-scala.mdx index 7f78fcf32..613e3911f 100644 --- a/docs/docs/jvm/java-and-scala.mdx +++ b/docs/docs/jvm/java-and-scala.mdx @@ -62,13 +62,13 @@ Pants `2.11.x` adds support for choosing JDK and Scala versions per target in yo #### JDK -JDKs used by Pants are automatically fetched using [Coursier](https://get-coursier.io/), and are chosen using the [`[jvm].jdk` setting](../../reference/subsystems/jvm.mdx#section-jdk) to set a repository-wide default. +JDKs used by Pants are automatically fetched using [Coursier](https://get-coursier.io/), and are chosen using the [`[jvm].jdk` setting](../../reference/subsystems/jvm.mdx#jdk) to set a repository-wide default. To override the default on a particular target, you can use the [`jdk=` field](../../reference/targets/java_source.mdx#jdk). It can be useful to use the [`parametrize` builtin](../using-pants/key-concepts/targets-and-build-files.mdx#parametrizing-targets) with the `jdk=` field, particularly to run test targets under multiple JDKs. #### Scala version -The Scala version to use is configured on a resolve-by-resolve basis (see the "Third-party dependencies" section below) using the [`[scala].version_for_resolve` option](../../reference/subsystems/scala.mdx#section-version_for_resolve). The default Scala version for your repository will thus be whichever Scala version is configured for the "default" resolve, which is configured by the [`[jvm].default_resolve` option](../../reference/subsystems/jvm#default_resolve). +The Scala version to use is configured on a resolve-by-resolve basis (see the "Third-party dependencies" section below) using the [`[scala].version_for_resolve` option](../../reference/subsystems/scala.mdx#version_for_resolve). The default Scala version for your repository will thus be whichever Scala version is configured for the "default" resolve, which is configured by the [`[jvm].default_resolve` option](../../reference/subsystems/jvm#default_resolve). To use multiple Scala versions in a repository, you would define multiple resolves, and then adjust the [`resolve` field](../../reference/targets/scalatest_test.mdx#resolve) of any targets which should be used with the non-`default_resolve` resolve. @@ -109,7 +109,7 @@ scala_artifact( Pants will use the right artifact for the Scala version corresponding for the resolve specified (or the default one). -Pants requires use of a lockfile for thirdparty dependencies. After adding or editing `jvm_artifact` targets, you will need to update affected lockfiles by running `pants generate-lockfiles`. The default lockfile is located at `3rdparty/jvm/default.lock`, but it can be relocated (as well as additional resolves declared) via the [`[jvm].resolves` option](../../reference/subsystems/jvm.mdx#section-resolves). +Pants requires use of a lockfile for thirdparty dependencies. After adding or editing `jvm_artifact` targets, you will need to update affected lockfiles by running `pants generate-lockfiles`. The default lockfile is located at `3rdparty/jvm/default.lock`, but it can be relocated (as well as additional resolves declared) via the [`[jvm].resolves` option](../../reference/subsystems/jvm.mdx#resolves). :::note Thirdparty symbols and the `packages` argument To efficiently determine which symbols are provided by thirdparty code (i.e., without hitting the network in order to compute dependencies in the common case), Pants relies on a static mapping of which artifacts provide which symbols, and defaults to treating each `jvm_artifact` as providing symbols within its `group`. diff --git a/docs/docs/jvm/kotlin.mdx b/docs/docs/jvm/kotlin.mdx index 19ddc3d19..8363b1fd4 100644 --- a/docs/docs/jvm/kotlin.mdx +++ b/docs/docs/jvm/kotlin.mdx @@ -68,13 +68,13 @@ Pants supports choosing the JDK and Kotlin versions per target in your repositor #### JDK -JDKs used by Pants are automatically fetched using [Coursier](https://get-coursier.io/), and are chosen using the [`[jvm].jdk` option](../../reference/subsystems/jvm.mdx#section-jdk) to set a repository-wide default. +JDKs used by Pants are automatically fetched using [Coursier](https://get-coursier.io/), and are chosen using the [`[jvm].jdk` option](../../reference/subsystems/jvm.mdx#jdk) to set a repository-wide default. To override the default on a particular target, you can use the [`jdk=` field](../../reference/targets/kotlin_source.mdx#jdk). It can be useful to use the [`parametrize` builtin](../using-pants/key-concepts/targets-and-build-files.mdx#parametrizing-targets) with the `jdk=` field, particularly to run test targets under multiple JDKs. #### Kotlin version -The Kotlin version to use is configured on a resolve-by-resolve basis (see the "Third-party dependencies" section below) using the [`[kotlin].version_for_resolve` option](../../reference/subsystems/kotlin.mdx#section-version_for_resolve). The default Kotlin version for your repository will thus be whichever Kotlin version is configured for the "default" resolve, which is configured by the [`[jvm].default_resolve` option](../../reference/subsystems/jvm#default_resolve). +The Kotlin version to use is configured on a resolve-by-resolve basis (see the "Third-party dependencies" section below) using the [`[kotlin].version_for_resolve` option](../../reference/subsystems/kotlin.mdx#version_for_resolve). The default Kotlin version for your repository will thus be whichever Kotlin version is configured for the "default" resolve, which is configured by the [`[jvm].default_resolve` option](../../reference/subsystems/jvm#default_resolve). Each resolve must contain the following jars for the Kotlin runtime with the version matching the version specified for the resolve in the `[kotlin].version_for_resolve` option: @@ -110,7 +110,7 @@ jvm_artifact( ) ``` -Pants requires use of a lockfile for third-party dependencies. After adding or editing `jvm_artifact` targets, you will need to update affected lockfiles by running `pants generate-lockfiles`. The default lockfile is located at `3rdparty/jvm/default.lock`, but it can be relocated (as well as additional resolves declared) via the [`[jvm].resolves` option](../../reference/subsystems/jvm.mdx#section-resolves). +Pants requires use of a lockfile for third-party dependencies. After adding or editing `jvm_artifact` targets, you will need to update affected lockfiles by running `pants generate-lockfiles`. The default lockfile is located at `3rdparty/jvm/default.lock`, but it can be relocated (as well as additional resolves declared) via the [`[jvm].resolves` option](../../reference/subsystems/jvm.mdx#resolves). :::note Thirdparty symbols and the `packages` argument To efficiently determine which symbols are provided by third-party code (i.e., without hitting the network in order to compute dependencies in the common case), Pants relies on a static mapping of which artifacts provide which symbols, and defaults to treating each `jvm_artifact` as providing symbols within its `group`. diff --git a/docs/docs/python/goals/check.mdx b/docs/docs/python/goals/check.mdx index 72195bcb2..13f55299a 100644 --- a/docs/docs/python/goals/check.mdx +++ b/docs/docs/python/goals/check.mdx @@ -85,7 +85,7 @@ When you run `pants check ::`, Pants will skip any files belonging to skipped ta :::caution MyPy may still try to check the skipped files! The `skip_mypy` field only tells Pants not to provide the skipped files as direct input to MyPy. But MyPy, by default, will still try to check files that are [dependencies of the direct inputs](https://mypy.readthedocs.io/en/stable/running_mypy.html#following-imports). So if your skipped files are dependencies of unskipped files, they may still be checked. -To change this behavior, use MyPy's [`--follow-imports` option](https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-follow-imports), typically by setting it to `silent`. You can do so either by adding it to the [`args` option](../../../reference/subsystems/mypy.mdx#section-args) in the `[mypy]` section of your Pants config file, or by setting it in [`mypy.ini`](https://mypy.readthedocs.io/en/stable/config_file.html). +To change this behavior, use MyPy's [`--follow-imports` option](https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-follow-imports), typically by setting it to `silent`. You can do so either by adding it to the [`args` option](../../../reference/subsystems/mypy.mdx#args) in the `[mypy]` section of your Pants config file, or by setting it in [`mypy.ini`](https://mypy.readthedocs.io/en/stable/config_file.html). ::: ### First-party type stubs (`.pyi` files) diff --git a/docs/docs/python/goals/test.mdx b/docs/docs/python/goals/test.mdx index 69924e3d3..0a15dd65b 100644 --- a/docs/docs/python/goals/test.mdx +++ b/docs/docs/python/goals/test.mdx @@ -523,7 +523,7 @@ ignore_errors = true `ignore_errors = true` means that those files will simply be left off of the final coverage report. -(Pants should autodiscover the config file `.coveragerc`. See [coverage-py](../../../reference/subsystems/coverage-py.mdx#section-config-discovery).) +(Pants should autodiscover the config file `.coveragerc`. See [coverage-py](../../../reference/subsystems/coverage-py.mdx#config-discovery).) There's a proposal for Pants to fix this by generating multiple reports when necessary: [https://github.com/pantsbuild/pants/issues/11137](https://github.com/pantsbuild/pants/issues/11137). We'd appreciate your feedback. ::: diff --git a/docs/docs/python/integrations/aws-lambda.mdx b/docs/docs/python/integrations/aws-lambda.mdx index a309a2e61..0c0f7e7a8 100644 --- a/docs/docs/python/integrations/aws-lambda.mdx +++ b/docs/docs/python/integrations/aws-lambda.mdx @@ -80,6 +80,26 @@ When building an Lambda artifact, Pants and the underlying Pex tool need to know complete_platforms=[":lambda-platform"], ) ``` + + You can generate the `complete_platforms` file for a specific Lambda runtime by running the below cloud function and outputting its file contents. For Lambda, a handler to generate the file might look like this: + + ```python + import subprocess + import json + + def lambda_handler(event, context): + subprocess.run("pip install --target=/tmp/pex pex", shell=True) + result = subprocess.run( + "PYTHONPATH=/tmp/pex /tmp/pex/bin/pex3 interpreter inspect --markers --tags --indent=2", + shell=True, capture_output=True, text=True + ) + return { + "statusCode": 200, + "body": result.stdout, + } + ``` + + Deploy and invoke the function, then retrieve the output to use as your `complete_platforms` file. 2. An explicit value for [the `runtime` field](../../../reference/targets/python_aws_lambda_function.mdx#runtime) and, optionally, [the `architecture` field](../../../reference/targets/python_aws_lambda_function.mdx#architecture): Pants uses these to pick an appropriate "complete platforms" value, from options that Pants has pre-packaged. These are static exports from docker images provided by AWS, relying on the environment being relatively stable. (If Pants doesn't have an appropriate "complete platforms" default built-in, you will be prompted to use option 1 above.) ```python title="BUILD" python_aws_lambda_function( @@ -258,6 +278,6 @@ Pants implemented a new way to package Lambda functions in 2.17, which became th - In Pants 2.18, the new behaviour is now the default behaviour. Layers can now be built using Pants, and this addition includes renaming the `python_awslambda` target to `python_aws_lambda_function`. - In Pants 2.19 and later, the old Lambdex behaviour has been entirely removed. -If your code can be packaged without warnings using Pants 2.18, no change is required when upgrading to Pants 2.19 (except removing the `[lambdex]` section in `pants.toml` if that still remains). If not, [follow its instructions](/v2.18/docs/awslambda-python#migrating-from-pants-216-and-earlier) to upgrade to Pants 2.18 fully first, and upgrade to Pants 2.19 after that. +If your code can be packaged without warnings using Pants 2.18, no change is required when upgrading to Pants 2.19 (except removing the `[lambdex]` section in `pants.toml` if that still remains). If not, [follow its instructions](/2.18/docs/python/integrations/aws-lambda#migrating-from-pants-216-and-earlier) to upgrade to Pants 2.18 fully first, and upgrade to Pants 2.19 after that. If you encounter a bug with the new behaviour, [please let us know](https://github.com/pantsbuild/pants/issues/new/choose). If you require advanced PEX features, [switch to using `pex_binary` directly](#advanced-using-pex-directly). diff --git a/docs/docs/python/integrations/google-cloud-functions.mdx b/docs/docs/python/integrations/google-cloud-functions.mdx index 6eccb1cf5..be7c314c8 100644 --- a/docs/docs/python/integrations/google-cloud-functions.mdx +++ b/docs/docs/python/integrations/google-cloud-functions.mdx @@ -82,6 +82,33 @@ When building an Cloud function artifact, Pants and the underlying Pex tool need complete_platforms=[":gcf-platform"], ) ``` + + If needed, this file can be generated for a specific Cloud Function runtime using the function below: + + ```python title="gcf-complete-platform-generator.py" + import subprocess + import json + + import functions_framework + + @functions_framework.http + def generate_pex_complete_platforms(request): + subprocess.run( + "python -m pip install --target=/tmp/pex pex", + shell=True, + check=True, + ) + result = subprocess.run( + "PYTHONPATH=/tmp/pex /tmp/pex/bin/pex3 interpreter inspect --markers --tags", + shell=True, + capture_output=True, + text=True, + ) + return result.stdout + ``` + + If you run this function in the Cloud Function testing environment, it will print out a formatted JSON object to the console. You can then copy this JSON object and add it to a file named `gcf-platform.json`. + 2. An explicit value for [the `runtime` field](../../../reference/targets/python_google_cloud_function.mdx#runtime): Pants uses this to pick an appropriate "complete platforms" value, from options that Pants has pre-packaged. These are static exports from docker images provided by GCP, relying on the environment being relatively stable. (If Pants doesn't have an appropriate "complete platforms" default built-in, you will be prompted to use option 1 above.) ```python title="BUILD" python_google_cloud_function( diff --git a/docs/docs/python/overview/interpreter-compatibility.mdx b/docs/docs/python/overview/interpreter-compatibility.mdx index 6b62c0b09..9684d1934 100644 --- a/docs/docs/python/overview/interpreter-compatibility.mdx +++ b/docs/docs/python/overview/interpreter-compatibility.mdx @@ -9,6 +9,10 @@ How to configure which Python version(s) your project should use. ## Setting the default Python version +:::note Proactive Python 2.7 support ends in Pants v2.24.x and later versions +Pants v2.23.x is the last Pants release series which will be regularly tested with Python 2.7. Python 2.7 is [no longer supported by its maintainers as of 1 January 2020](https://www.python.org/doc/sunset-python-2/). While Pants may continue to work with Python 2.7 in the near term, as of Pants v2.24.x, Pants will no longer officially support use of Python 2.7, and, consequently, will no longer be proactively tested with Python 2.7 in CI. Contributions to fix issues with Python 2.7 support will continue to be accepted, but will depend on any community contributions and will not consitute continued official support for Python 2.7. +::: + Configure your default Python interpreter compatibility constraints in `pants.toml` like this: ```toml title="pants.toml" diff --git a/docs/docs/python/overview/linters-and-formatters.mdx b/docs/docs/python/overview/linters-and-formatters.mdx index bb7342fb4..7cf9572a5 100644 --- a/docs/docs/python/overview/linters-and-formatters.mdx +++ b/docs/docs/python/overview/linters-and-formatters.mdx @@ -231,7 +231,7 @@ Pants will copy all reports into the folder `dist/lint/`. ### Pylint and Flake8: how to add first-party plugins -See [`[pylint].source_plugins`](../../../reference/subsystems/pylint.mdx#section-source-plugins) and [`[flake8].source_plugins`](../../../reference/subsystems/flake8.mdx#section-source-plugins) for instructions to add plugins written by you. +See [`[pylint].source_plugins`](../../../reference/subsystems/pylint.mdx#source_plugins) and [`[flake8].source_plugins`](../../../reference/subsystems/flake8.mdx#source_plugins) for instructions to add plugins written by you. ### Bandit: less verbose logging diff --git a/docs/docs/python/overview/lockfiles.mdx b/docs/docs/python/overview/lockfiles.mdx index 81d642fa2..3fb76d623 100644 --- a/docs/docs/python/overview/lockfiles.mdx +++ b/docs/docs/python/overview/lockfiles.mdx @@ -150,8 +150,8 @@ A lockfile will contain dependencies for all requested Python versions. By defau You can use the following options to affect how the lockfile generator resolves dependencies for each resolve: - [\[python\].resolves_to_constraints_file](../../../reference/subsystems/python.mdx#resolves_to_constraints_file): For each resolve, a path to a [Pip constraints file](https://pip.pypa.io/en/stable/user_guide/#constraints-files) to use when resolving that lockfile. -- [\[python\].resolve_to_no_binary](../../../reference/subsystems/python.mdx#resolve_to_no_binary): For each resolve, a list of projects that must only resolve to sdists and not wheels. Use the value `[":all:"]` to disable wheels for all packages. -- [\[python\].resolve_to_only_binary](../../../reference/subsystems/python.mdx#resolve_to_only_binary): For each resolve, a list of projects that must only resolve to wheels and not sdists. Use the value `[":all:"]` to disable sdists for all packages. +- [\[python\].resolves_to_no_binary](../../../reference/subsystems/python.mdx#resolves_to_no_binary): For each resolve, a list of projects that must only resolve to sdists and not wheels. Use the value `[":all:"]` to disable wheels for all packages. +- [\[python\].resolves_to_only_binary](../../../reference/subsystems/python.mdx#resolves_to_only_binary): For each resolve, a list of projects that must only resolve to wheels and not sdists. Use the value `[":all:"]` to disable sdists for all packages. You can use the key `__default__` to set the value for all resolves at once. diff --git a/docs/docs/python/overview/pex.mdx b/docs/docs/python/overview/pex.mdx index 04086b846..4a682a00e 100644 --- a/docs/docs/python/overview/pex.mdx +++ b/docs/docs/python/overview/pex.mdx @@ -67,7 +67,27 @@ pex_binary( ) ``` -You can generate the JSON content for these files by installing the [Pex](https://github.com/pex-tool/pex) command-line tool on the target platform and running `pex3 interpreter inspect --markers --tags` against the appropriate interpreter. You can run `pex3 interpreter inspect --help` for more options, and in particular for how to select the desired target interpreter. +### Generating the `complete_platforms` file + +The core command for generating a `complete_platforms` file looks like this (see [pex docs](https://docs.pex-tool.org/buildingpex.html#complete-platform)): + +```sh +pip install pex && pex3 interpreter inspect --markers --tags --indent=2 +``` + +You can run `pex3 interpreter inspect --help` for more options, and in particular for how to select the desired target interpreter. + +You can run this command in a few different ways: + +1. Manually/interactively in your target environment +2. In a Docker container + + If you have a Docker image corresponding to your target environment, you can start a container with that image and run the PEX tool inside it to generate the file: + + ```sh + docker run --entrypoint='/bin/sh' -it --rm : -c "python -m pip install --target=/tmp/pex pex >/dev/null 2>&1 && PYTHONPATH=/tmp/pex/bin/pex3 interpreter inspect --markers --tags --indent=2" > complete_platforms.json + ``` +3. Inside a Python process (e.g. [AWS Lambda](../integrations/aws-lambda.mdx#specifying-a-runtime-explicitly) or [Google Cloud Functions](../integrations/google-cloud-functions.mdx#specifying-a-runtime-explicitly)). :::caution Platform-specific dependencies must be available as wheels Some Python distributions include native code, and therefore require platform-specific artifacts. Often, such artifacts are pre-built and available on PyPI as platform-specific wheels. But in some cases they are only available as source distributions (sdists) and must be compiled into platform-specific wheels at build time. Pants can only build platform-specific sdists for the local machine or [environment](../../using-pants/environments.mdx), and cannot cross-compile for other target platforms. Therefore, to build for platforms other than the local one, all the platform-specific third-party packages that your PEX transitively depends on must be available as prebuilt wheels for each platform you care about. If those wheels aren't available on PyPI you can always build them manually once and host them on a private package repository. diff --git a/docs/docs/using-pants/advanced-target-selection.mdx b/docs/docs/using-pants/advanced-target-selection.mdx index 1e9a76d0d..8fb1267bf 100644 --- a/docs/docs/using-pants/advanced-target-selection.mdx +++ b/docs/docs/using-pants/advanced-target-selection.mdx @@ -38,6 +38,13 @@ By default, `--changed-since` will only run over files directly changed. Often, test ``` +:::note Hint: Pants does not understand transitive third-party dependencies in this context. +Changes to third-party dependencies (particularly, dependencies of dependencies) may not be +surfaced as you expect via `--changed-*`. In particular, any change to a single dependency +within a lockfile or a target generator (such as `python_requirements`) will consider all +users of _any_ dependency changed, transitively. +::: + ## `filter` options Use filters to operate on only targets that match the predicate, e.g. only running Python tests. @@ -98,7 +105,7 @@ python_tests( ) ``` -You can then filter by tags with the global `--tag` [option](../../reference/global-options.mdx#section-tag), like this: +You can then filter by tags with the global `--tag` [option](../../reference/global-options.mdx#tag), like this: ```bash pants --tag=integration_test list :: diff --git a/docs/docs/using-pants/key-concepts/backends.mdx b/docs/docs/using-pants/key-concepts/backends.mdx index 4895770fa..66192148c 100644 --- a/docs/docs/using-pants/key-concepts/backends.mdx +++ b/docs/docs/using-pants/key-concepts/backends.mdx @@ -92,6 +92,7 @@ The list of all backends (both stable and experimental) is also available via `p | `pants.backend.experimental.kotlin` | Enables core Kotlin support | [Kotlin](../../jvm/kotlin.mdx) | | `pants.backend.experimental.kotlin.debug_goals` | Enables additional goals for introspecting Kotlin targets | [Kotlin](../../jvm/kotlin.mdx) | | `pants.backend.experimental.kotlin.lint.ktlint` | Enables ktlint, an anti-bikeshedding linter with built-in formatter: [https://pinterest.github.io/ktlint/](https://pinterest.github.io/ktlint/) | [Kotlin](../../jvm/kotlin.mdx) | +| `pants.backend.experimental.nfpm` | Enables support for building `apk`, `archlinux`, `deb`, and `rpm` packages via [`nFPM`](https://nfpm.goreleaser.com/) | [`nfpm`](../../../reference/subsystems/nfpm.mdx) | | `pants.backend.experimental.openapi` | Enables core OpenAPI support: [https://swagger.io/specification/](https://swagger.io/specification/) | [`openapi`](../../../reference/subsystems/openapi.mdx) | | `pants.backend.experimental.openapi.codegen.java` | Enables generating Java from OpenAPI | | | `pants.backend.experimental.openapi.lint.openapi_format` | Enables openapi-format: [https://github.com/thim81/openapi-format](https://github.com/thim81/openapi-format) | | @@ -116,6 +117,6 @@ The list of all backends (both stable and experimental) is also available via `p | `pants.backend.experimental.tools.semgrep` | Enables semgrep, a fast multi-language static analysis engine: [https://semgrep.dev](https://semgrep.dev) | [`semgrep`](../../../reference/subsystems/semgrep.mdx) | | `pants.backend.experimental.tools.workunit_logger` | Enables the workunit logger for debugging pants itself | [`workunit-logger`](../../../reference/subsystems/workunit-logger.mdx) | | `pants.backend.experimental.tools.yamllint` | Enables yamllint, a linter for YAML files: [https://yamllint.readthedocs.io/](https://yamllint.readthedocs.io/) | [`yamllint`](../../../reference/subsystems/yamllint.mdx) | -| `pants.backend.experimental.visibility` | Enables `__dependencies_rules__` and `__dependents_rules__` | [Visibility](./targets-and-build-files.mdx#visibility) | +| `pants.backend.experimental.visibility` | Enables `__dependencies_rules__` and `__dependents_rules__` | [Visibility](../validating-dependencies) | | `pants.backend.python.providers.experimental.pyenv` | Enables Pants to manage appropriate Python interpreters via pyenv | | | `pants.backend.python.providers.experimental.pyenv.custom_install` | Enables customising how the pyenv provider builds a Python interpreter | | diff --git a/docs/docs/using-pants/key-concepts/targets-and-build-files.mdx b/docs/docs/using-pants/key-concepts/targets-and-build-files.mdx index 835defd5b..a4b4154fc 100644 --- a/docs/docs/using-pants/key-concepts/targets-and-build-files.mdx +++ b/docs/docs/using-pants/key-concepts/targets-and-build-files.mdx @@ -152,7 +152,7 @@ python_sources( name="lib", dependencies=[ "3rdparty/python:ansicolors", - "assets:logo, + "assets:logo", ], ) ``` diff --git a/docs/docs/using-pants/restricted-internet-access.mdx b/docs/docs/using-pants/restricted-internet-access.mdx index e5ce3e718..27e08c250 100644 --- a/docs/docs/using-pants/restricted-internet-access.mdx +++ b/docs/docs/using-pants/restricted-internet-access.mdx @@ -67,7 +67,7 @@ Pants downloads the various JVM-related tools it uses from [Maven Central](https If you use JVM code but cannot access Maven Central directly, then you probably have an internal mirror or a custom JVM package repository. So all you have to do is configure Pants to access this custom repository, and ensure that the tools it needs are available there. -To do so, set the [`repos`](../../reference/subsystems/coursier.mdx#section-repos) option on the `[coursier]` scope. E.g., +To do so, set the [`repos`](../../reference/subsystems/coursier.mdx#repos) option on the `[coursier]` scope. E.g., ```text title="pants.toml" [coursier] diff --git a/docs/docs/using-pants/troubleshooting-common-issues.mdx b/docs/docs/using-pants/troubleshooting-common-issues.mdx index e8836d617..1fee02e7b 100644 --- a/docs/docs/using-pants/troubleshooting-common-issues.mdx +++ b/docs/docs/using-pants/troubleshooting-common-issues.mdx @@ -76,7 +76,7 @@ Alternatively, you can stop populating `pants_ignore` from your `.gitignore` by ## Import errors and missing dependencies -Because Pants runs processes in hermetic sandboxes (temporary directories), Pants must properly know about your [dependencies](./key-concepts/targets-and-build-files.mdx#dependencies-and-dependency-inference) to avoid import errors. +Because Pants runs processes in hermetic sandboxes (temporary directories), Pants must properly know about your [dependencies](../introduction/how-does-pants-work#dependency-inference) to avoid import errors. Usually, you do not need to tell Pants about your dependencies thanks to dependency inference, but sometimes dependency inference is not set up properly or cannot work. @@ -226,7 +226,7 @@ To temporarily run a single test at a time (albeit with reduced performance), yo pants --process-execution-local-parallelism=1 test :: ``` -A more sustainable solution for shared resources is to use the [`[pytest].execution_slot_var`](../../reference/subsystems/pytest.mdx#section-execution-slot-var) option, which sets an environment variable which test runs can consume to determine which copy of a resource to consume. +A more sustainable solution for shared resources is to use the [`[pytest].execution_slot_var`](../../reference/subsystems/pytest.mdx#execution_slot_var) option, which sets an environment variable which test runs can consume to determine which copy of a resource to consume. ## Snap-based Docker diff --git a/docs/docs/using-pants/using-pants-in-ci.mdx b/docs/docs/using-pants/using-pants-in-ci.mdx index 868100b9f..65545d283 100644 --- a/docs/docs/using-pants/using-pants-in-ci.mdx +++ b/docs/docs/using-pants/using-pants-in-ci.mdx @@ -208,14 +208,14 @@ Pants allows you to control its resource consumption. These options all have sen Concurrency options: -- [`process_execution_local_parallelism`](../../reference/global-options.mdx#section-process-execution-local-parallelism): number of concurrent processes that may be executed locally. -- [`rule_threads_core`](../../reference/global-options.mdx#section-rule-threads-core): number of threads to keep active to execute `@rule` logic. -- [`rule_threads_max`](../../reference/global-options.mdx#section-rule-threads-max): maximum number of threads to use to execute `@rule` logic. +- [`process_execution_local_parallelism`](../../reference/global-options.mdx#process_execution_local_parallelism): number of concurrent processes that may be executed locally. +- [`rule_threads_core`](../../reference/global-options.mdx#rule_threads_core): number of threads to keep active to execute `@rule` logic. +- [`rule_threads_max`](../../reference/global-options.mdx#rule_threads_max): maximum number of threads to use to execute `@rule` logic. Memory usage options: -- [`pantsd`](../../reference/global-options.mdx#section-pantsd): enable or disable the Pants daemon, which uses an in-memory cache to speed up subsequent runs after the first run in CI. -- [`pantsd_max_memory_usage`](../../reference/global-options.mdx#section-pantsd-max-memory-usage): reduce or increase the size of Pantsd's in-memory cache. +- [`pantsd`](../../reference/global-options.mdx#pantsd): enable or disable the Pants daemon, which uses an in-memory cache to speed up subsequent runs after the first run in CI. +- [`pantsd_max_memory_usage`](../../reference/global-options.mdx#pantsd_max_memory_usage): reduce or increase the size of Pantsd's in-memory cache. The default test runners for these CI providers have the following resources. If you are using a custom runner, e.g. enterprise, check with your CI provider. diff --git a/docs/docs/using-pants/validating-dependencies.mdx b/docs/docs/using-pants/validating-dependencies.mdx index 22ac0e1d2..f416ef5bd 100644 --- a/docs/docs/using-pants/validating-dependencies.mdx +++ b/docs/docs/using-pants/validating-dependencies.mdx @@ -97,7 +97,7 @@ Dependency rules are configured in the BUILD files along with targets and any ot It may help to think about these terms in context of a sentence. For `__dependencies_rules__` it is "this X may only import from \<...\>", and for `__dependents_rules__` it is "this X may only be imported from \<...\>". -For each dependency there may be up to 2 sets of rules consulted to determine if it should be `allowed` or `denied` (or just `warn`, see [Rule Actions](./key-concepts/targets-and-build-files.mdx#rule-actions)), one for each end of the dependency link. The rules themselves are merely [path globs](./key-concepts/targets-and-build-files.mdx#glob-syntax) applied in order until a matching rule is found. It is an error for there to not be any matching rule, if any rules are defined. That is, you may have a dependency without any rules and that will be allowed, but as soon as there are rules in play there must exist at least one that is a match for the dependency link that dictates the outcome. It is valid to declare either dependency rules or dependent rules you don't have to have both when using visibility rules. +For each dependency there may be up to 2 sets of rules consulted to determine if it should be `allowed` or `denied` (or just `warn`, see [Rule Actions](#rule-actions)), one for each end of the dependency link. The rules themselves are merely [path globs](#glob-syntax) applied in order until a matching rule is found. It is an error for there to not be any matching rule, if any rules are defined. That is, you may have a dependency without any rules and that will be allowed, but as soon as there are rules in play there must exist at least one that is a match for the dependency link that dictates the outcome. It is valid to declare either dependency rules or dependent rules you don't have to have both when using visibility rules. :::caution There are no default rules When you setup a set of rules, it must be comprehensive or Pants will throw an error when it fails to find a matching rule for a dependency/dependent. @@ -420,4 +420,4 @@ The rule action is specified as a prefix on the rule glob: - `!` - Sets the rule's action to `DENY`. - `?` - Sets the rule's action to `WARN`. -- Any other value is part of the [rule glob](./key-concepts/targets-and-build-files.mdx#glob-syntax). +- Any other value is part of the [rule glob](#glob-syntax). diff --git a/docs/reference/build-file-symbols/__defaults__.mdx b/docs/reference/build-file-symbols/__defaults__.mdx index 7f36c435e..892276e8e 100644 --- a/docs/reference/build-file-symbols/__defaults__.mdx +++ b/docs/reference/build-file-symbols/__defaults__.mdx @@ -10,6 +10,6 @@ import BuildFileSymbol from "@site/src/components/reference/BuildFileSymbol"; Provide default field values. -Learn more https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files#field-default-values +Learn more https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files#field-default-values diff --git a/docs/reference/global-options.mdx b/docs/reference/global-options.mdx index be4036ce6..fe901c7d0 100644 --- a/docs/reference/global-options.mdx +++ b/docs/reference/global-options.mdx @@ -239,7 +239,7 @@ remote_provider = `} default_repr={`reapi`} > -The type of provider to use, if using a remote cache and/or remote execution, See https://www.pantsbuild.org/2.23/docs/using-pants/remote-caching-and-execution for details. +The type of provider to use, if using a remote cache and/or remote execution, See https://www.pantsbuild.org/2.24/docs/using-pants/remote-caching-and-execution for details. Each provider supports different `remote_store_address` and (optional) `remote_execution_address` URIs. @@ -299,12 +299,28 @@ tag = [ default_repr={`[]`} > -Include only targets with these tags (optional '+' prefix) or without these tags ('-' prefix). See https://www.pantsbuild.org/2.23/docs/using-pants/advanced-target-selection. +Include only targets with these tags (optional '+' prefix) or without these tags ('-' prefix). See https://www.pantsbuild.org/2.24/docs/using-pants/advanced-target-selection. ## Advanced options +### `allow_deprecated_macos_before_12` + + + ### `backend_packages` @@ -399,7 +415,7 @@ Path to a file containing PEM-format CA certificates used for verifying secure c Even when using the `docker_environment` and `remote_environment` targets, this path will be read from the local host, and those certs will be used in the environment. -This option cannot be overridden via environment targets, so if you need a different value than what the rest of your organization is using, override the value via an environment variable, CLI argument, or `.pants.rc` file. See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options. +This option cannot be overridden via environment targets, so if you need a different value than what the rest of your organization is using, override the value via an environment variable, CLI argument, or `.pants.rc` file. See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options. @@ -470,6 +486,38 @@ A directory to write execution and rule graphs to as `dot` files. The contents o +### `file_downloads_max_attempts` + + + +### `file_downloads_retry_delay` + + + ### `ignore_warnings` diff --git a/docs/reference/goals/complete.mdx b/docs/reference/goals/complete.mdx index d7157ece8..a9e1909ab 100644 --- a/docs/reference/goals/complete.mdx +++ b/docs/reference/goals/complete.mdx @@ -15,7 +15,7 @@ pants complete [args] Generates a completion script for the specified shell. The script is printed to stdout. -For example, `pants complete --zsh > pants-completions.zsh` will generate a zsh completion script and write it to the file `my-pants-completions.zsh`. You can then source this file in your `.zshrc` file to enable completion for Pants. +For example, `pants complete --shell=zsh > pants-completions.zsh` will generate a zsh completion script and write it to the file `my-pants-completions.zsh`. You can then source this file in your `.zshrc` file to enable completion for Pants. This command is also used by the completion scripts to generate the completion options using passthrough options. This usage is not intended for use by end users, but could be useful for building custom completion scripts. diff --git a/docs/reference/goals/export.mdx b/docs/reference/goals/export.mdx index 4a40104b2..e50e909cf 100644 --- a/docs/reference/goals/export.mdx +++ b/docs/reference/goals/export.mdx @@ -146,7 +146,7 @@ This only applies when when exporting a `mutable_virtualenv` (`symlinked_immutab toml_repr={`[export] py_hermetic_scripts = `} default_repr={`True`} - removal_version='2.24.0.dev0' + removal_version='2.26.0.dev0' removal_hint={'Use `--export-py-non-hermetic-scripts-in-resolve` instead.'} > diff --git a/docs/reference/goals/tailor.mdx b/docs/reference/goals/tailor.mdx index 7d2ca19bd..b4d7e0830 100644 --- a/docs/reference/goals/tailor.mdx +++ b/docs/reference/goals/tailor.mdx @@ -53,7 +53,7 @@ key2 = val2 default_repr={`{}`} > -A mapping from standard target type to custom type to use instead. The custom type can be a custom target type or a macro that offers compatible functionality to the one it replaces (see https://www.pantsbuild.org/2.23/docs/writing-plugins/macros). +A mapping from standard target type to custom type to use instead. The custom type can be a custom target type or a macro that offers compatible functionality to the one it replaces (see https://www.pantsbuild.org/2.24/docs/writing-plugins/macros). diff --git a/docs/reference/goals/update-build-files.mdx b/docs/reference/goals/update-build-files.mdx index 7ae784612..f4273fefb 100644 --- a/docs/reference/goals/update-build-files.mdx +++ b/docs/reference/goals/update-build-files.mdx @@ -15,7 +15,7 @@ pants update-build-files [args] Format and fix safe deprecations in BUILD files. -This does not handle the full Pants upgrade. You must still manually change `pants_version` in `pants.toml` and you may need to manually address some deprecations. See https://www.pantsbuild.org/2.23/docs/releases/upgrade-tips for upgrade tips. +This does not handle the full Pants upgrade. You must still manually change `pants_version` in `pants.toml` and you may need to manually address some deprecations. See https://www.pantsbuild.org/2.24/docs/releases/upgrade-tips for upgrade tips. Backend: `pants.core` @@ -76,7 +76,7 @@ Set `[black].args` / `[ruff].args` / `[yapf].args`, `[black].config` / `[ruff].c env_repr='PANTS_UPDATE_BUILD_FILES_FORMATTER' toml_repr={`[update-build-files] formatter = `} - one_of='yapf, black, ruff' + one_of='yapf, black, ruff, buildifier' default_repr={`black`} > diff --git a/docs/reference/help-all.json b/docs/reference/help-all.json index 18a485287..a069a1d69 100644 --- a/docs/reference/help-all.json +++ b/docs/reference/help-all.json @@ -125,7 +125,7 @@ ], "env_var": "PANTS_ADD_TRAILING_COMMA_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `add-trailing-comma` version 2.4.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `add-trailing-comma` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `add-trailing-comma` version 2.5.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `add-trailing-comma` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -152,7 +152,7 @@ "comma_separated_display_args": "--add-trailing-comma-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -183,7 +183,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -202,7 +202,7 @@ ], "env_var": "PANTS_ADD_TRAILING_COMMA_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -269,6 +269,47 @@ ] } }, + "PANTS_ALLOW_DEPRECATED_MACOS_BEFORE_12": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]allow-deprecated-macos-before-12", + "config_key": "allow_deprecated_macos_before_12", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]allow-deprecated-macos-before-12" + ], + "env_var": "PANTS_ALLOW_DEPRECATED_MACOS_BEFORE_12", + "fromfile": false, + "help": "Silence warnings about running Pants on macOS 10.15 - 11. In future versions, Pants will only be supported on macOS 12 and newer.\n\nIf you have questions or concerns about this, please reach out to us at https://www.pantsbuild.org/community/getting-help.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--allow-deprecated-macos-before-12", + "--no-allow-deprecated-macos-before-12" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--allow-deprecated-macos-before-12", + "--no-allow-deprecated-macos-before-12" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, "PANTS_ANONYMOUS_TELEMETRY_ENABLED": { "choices": null, "comma_separated_choices": null, @@ -282,7 +323,7 @@ ], "env_var": "PANTS_ANONYMOUS_TELEMETRY_ENABLED", "fromfile": false, - "help": "Whether to send anonymous telemetry to the Pants project.\n\nTelemetry is sent asynchronously, with silent failure, and does not impact build times or outcomes.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/anonymous-telemetry for details.", + "help": "Whether to send anonymous telemetry to the Pants project.\n\nTelemetry is sent asynchronously, with silent failure, and does not impact build times or outcomes.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/anonymous-telemetry for details.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -323,7 +364,7 @@ ], "env_var": "PANTS_ANONYMOUS_TELEMETRY_REPO_ID", "fromfile": false, - "help": "An anonymized ID representing this repo.\n\nFor private repos, you likely want the ID to not be derived from, or algorithmically convertible to, anything identifying the repo.\n\nFor public repos the ID may be visible in that repo's config file, so anonymity of the repo is not guaranteed (although user anonymity is always guaranteed).\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/anonymous-telemetry for details.", + "help": "An anonymized ID representing this repo.\n\nFor private repos, you likely want the ID to not be derived from, or algorithmically convertible to, anything identifying the repo.\n\nFor public repos the ID may be visible in that repo's config file, so anonymity of the repo is not guaranteed (although user anonymity is always guaranteed).\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/anonymous-telemetry for details.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -555,7 +596,7 @@ ], "env_var": "PANTS_AUTOFLAKE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `autoflake` version 2.1.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `autoflake` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `autoflake` version 2.3.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `autoflake` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -582,7 +623,7 @@ "comma_separated_display_args": "--autoflake-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -613,7 +654,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -632,7 +673,7 @@ ], "env_var": "PANTS_AUTOFLAKE_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -821,6 +862,7 @@ "pants.backend.experimental.kotlin.debug_goals", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.openapi_format", @@ -1042,7 +1084,7 @@ ], "env_var": "PANTS_BANDIT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `bandit` version 1.7.5.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `bandit` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `bandit` version 1.7.9.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `bandit` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -1076,7 +1118,7 @@ ], "env_var": "PANTS_BANDIT_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -1387,7 +1429,7 @@ ], "env_var": "PANTS_BLACK_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `black` version 23.3.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `black` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `black` version 23.12.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `black` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -1414,7 +1456,7 @@ "comma_separated_display_args": "--black-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -1445,7 +1487,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -1464,7 +1506,7 @@ ], "env_var": "PANTS_BLACK_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -1877,7 +1919,7 @@ ], "env_var": "PANTS_BUF_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -2029,10 +2071,10 @@ "comma_separated_display_args": "--buildifier-known-versions=\"['', '', ...]\"", "config_key": "known_versions", "default": [ - "5.1.0|macos_x86_64|c9378d9f4293fc38ec54a08fbc74e7a9d28914dae6891334401e59f38f6e65dc|7125968", - "5.1.0|macos_arm64 |745feb5ea96cb6ff39a76b2821c57591fd70b528325562486d47b5d08900e2e4|7334498", - "5.1.0|linux_x86_64|52bf6b102cb4f88464e197caac06d69793fa2b05f5ad50a7e7bf6fbd656648a3|7226100", - "5.1.0|linux_arm64 |917d599dbb040e63ae7a7e1adb710d2057811902fdc9e35cce925ebfd966eeb8|7171938" + "7.1.2|macos_x86_64|687c49c318fb655970cf716eed3c7bfc9caeea4f2931a2fd36593c458de0c537|7591232", + "7.1.2|macos_arm64 |d0909b645496608fd6dfc67f95d9d3b01d90736d7b8c8ec41e802cb0b7ceae7c|7528994", + "7.1.2|linux_x86_64|28285fe7e39ed23dc1a3a525dfcdccbc96c0034ff1d4277905d2672a71b38f13|7702060", + "7.1.2|linux_arm64 |c22a44eee37b8927167ee6ee67573303f4e31171e7ec3a8ea021a6a660040437|7568336" ], "deprecated_message": null, "deprecation_active": false, @@ -2063,10 +2105,10 @@ "details": "", "rank": "HARDCODED", "value": [ - "5.1.0|macos_x86_64|c9378d9f4293fc38ec54a08fbc74e7a9d28914dae6891334401e59f38f6e65dc|7125968", - "5.1.0|macos_arm64 |745feb5ea96cb6ff39a76b2821c57591fd70b528325562486d47b5d08900e2e4|7334498", - "5.1.0|linux_x86_64|52bf6b102cb4f88464e197caac06d69793fa2b05f5ad50a7e7bf6fbd656648a3|7226100", - "5.1.0|linux_arm64 |917d599dbb040e63ae7a7e1adb710d2057811902fdc9e35cce925ebfd966eeb8|7171938" + "7.1.2|macos_x86_64|687c49c318fb655970cf716eed3c7bfc9caeea4f2931a2fd36593c458de0c537|7591232", + "7.1.2|macos_arm64 |d0909b645496608fd6dfc67f95d9d3b01d90736d7b8c8ec41e802cb0b7ceae7c|7528994", + "7.1.2|linux_x86_64|28285fe7e39ed23dc1a3a525dfcdccbc96c0034ff1d4277905d2672a71b38f13|7702060", + "7.1.2|linux_arm64 |c22a44eee37b8927167ee6ee67573303f4e31171e7ec3a8ea021a6a660040437|7568336" ] } ] @@ -2167,7 +2209,7 @@ "comma_separated_choices": null, "comma_separated_display_args": "--buildifier-url-template=", "config_key": "url_template", - "default": "https://github.com/bazelbuild/buildtools/releases/download/{version}/buildifier-{platform}", + "default": "https://github.com/bazelbuild/buildtools/releases/download/v{version}/buildifier-{platform}", "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -2175,7 +2217,7 @@ ], "env_var": "PANTS_BUILDIFIER_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -2196,7 +2238,7 @@ { "details": null, "rank": "HARDCODED", - "value": "https://github.com/bazelbuild/buildtools/releases/download/{version}/buildifier-{platform}" + "value": "https://github.com/bazelbuild/buildtools/releases/download/v{version}/buildifier-{platform}" } ] } @@ -2248,7 +2290,7 @@ "comma_separated_choices": null, "comma_separated_display_args": "--buildifier-version=", "config_key": "version", - "default": "5.1.0", + "default": "7.1.2", "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -2277,7 +2319,7 @@ { "details": null, "rank": "HARDCODED", - "value": "5.1.0" + "value": "7.1.2" } ] } @@ -2336,7 +2378,7 @@ ], "env_var": "PANTS_BUILD_FILE_PRELUDE_GLOBS", "fromfile": false, - "help": "Python files to evaluate and whose symbols should be exposed to all BUILD files. See https://www.pantsbuild.org/2.23/docs/writing-plugins/macros.", + "help": "Python files to evaluate and whose symbols should be exposed to all BUILD files. See https://www.pantsbuild.org/2.24/docs/writing-plugins/macros.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -2502,7 +2544,7 @@ ], "env_var": "PANTS_CA_CERTS_PATH", "fromfile": false, - "help": "Path to a file containing PEM-format CA certificates used for verifying secure connections when downloading files required by a build.\n\nEven when using the `docker_environment` and `remote_environment` targets, this path will be read from the local host, and those certs will be used in the environment.\n\nThis option cannot be overridden via environment targets, so if you need a different value than what the rest of your organization is using, override the value via an environment variable, CLI argument, or `.pants.rc` file. See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options.", + "help": "Path to a file containing PEM-format CA certificates used for verifying secure connections when downloading files required by a build.\n\nEven when using the `docker_environment` and `remote_environment` targets, this path will be read from the local host, and those certs will be used in the environment.\n\nThis option cannot be overridden via environment targets, so if you need a different value than what the rest of your organization is using, override the value via an environment variable, CLI argument, or `.pants.rc` file. See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -3149,7 +3191,7 @@ ], "env_var": "PANTS_CC_EXTERNAL_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -3695,7 +3737,7 @@ ], "env_var": "PANTS_CLANG_FORMAT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `clang-format` version 15.0.7.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `clang-format` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `clang-format` version 15.0.7.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `clang-format` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -3722,7 +3764,7 @@ "comma_separated_display_args": "--clang-format-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -3753,7 +3795,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -3772,7 +3814,7 @@ ], "env_var": "PANTS_CLANG_FORMAT_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -4256,7 +4298,7 @@ ], "env_var": "PANTS_COURSIER_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -4638,7 +4680,7 @@ ], "env_var": "PANTS_COVERAGE_PY_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `coverage` version 7.2.7.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `coverage-py` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `coverage` version 7.6.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `coverage-py` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -4665,7 +4707,7 @@ "comma_separated_display_args": "--coverage-py-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -4696,7 +4738,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -4804,7 +4846,7 @@ ], "env_var": "PANTS_COVERAGE_PY_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -5021,7 +5063,7 @@ ], "env_var": "PANTS_CUE_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -5253,7 +5295,7 @@ ], "env_var": "PANTS_DEBUGPY_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `debugpy` version 1.6.7.post1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `debugpy` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `debugpy` version 1.6.7.post1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `debugpy` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -5280,7 +5322,7 @@ "comma_separated_display_args": "--debugpy-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -5311,7 +5353,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -5330,7 +5372,7 @@ ], "env_var": "PANTS_DEBUGPY_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -5992,7 +6034,7 @@ ], "env_var": "PANTS_DOCFORMATTER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `docformatter` version 1.4.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `docformatter` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `docformatter` version 1.4.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `docformatter` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -6019,7 +6061,7 @@ "comma_separated_display_args": "--docformatter-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -6050,7 +6092,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -6069,7 +6111,7 @@ ], "env_var": "PANTS_DOCFORMATTER_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -6149,7 +6191,7 @@ ], "env_var": "PANTS_DOCKERFILE_PARSER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `dockerfile` version 3.2.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `dockerfile-parser` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `dockerfile` version 3.3.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `dockerfile-parser` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -6176,7 +6218,7 @@ "comma_separated_display_args": "--dockerfile-parser-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -6207,7 +6249,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -6226,7 +6268,7 @@ ], "env_var": "PANTS_DOCKERFILE_PARSER_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -6729,6 +6771,45 @@ ] } }, + "PANTS_DOCKER_OPTIONAL_TOOLS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--docker-optional-tools=\"['', '', ...]\"", + "config_key": "optional_tools", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--docker-optional-tools=\"['', '', ...]\"" + ], + "env_var": "PANTS_DOCKER_OPTIONAL_TOOLS", + "fromfile": false, + "help": "List any additional executables which are not mandatory for Docker to work, but which should be included if available. The paths to these tools will be included in the PATH used in the execution sandbox, so that they may be used by the Docker client.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--docker-optional-tools" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--optional-tools" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, "PANTS_DOCKER_REGISTRIES": { "choices": null, "comma_separated_choices": null, @@ -7774,7 +7855,7 @@ ], "env_var": "PANTS_DOWNLOAD_TERRAFORM_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -8445,7 +8526,7 @@ "comma_separated_display_args": "--[no-]export-py-hermetic-scripts", "config_key": "py_hermetic_scripts", "default": true, - "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.24.0.dev0.", + "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.26.0.dev0.", "deprecation_active": true, "display_args": [ "--[no-]export-py-hermetic-scripts" @@ -8454,7 +8535,7 @@ "fromfile": false, "help": "When exporting a mutable virtualenv for a resolve, by default modify console script shebang lines to make them \"hermetic\". The shebang of hermetic console scripts uses the python args: `-sE`:\n\n - `-s` skips inclusion of the user site-packages directory,\n - `-E` ignores all `PYTHON*` env vars like `PYTHONPATH`.\n\nSet this to false if you need non-hermetic scripts with simple python shebangs that respect vars like `PYTHONPATH`, to, for example, allow IDEs like PyCharm to inject its debugger, coverage, or other IDE-specific libs when running a script.\n\nThis only applies when when exporting a `mutable_virtualenv` (`symlinked_immutable_virtualenv` exports are not \"full\" virtualenvs because they are used internally by pants itself. Pants requires hermetic scripts to provide its reproduciblity guarantee, fine-grained caching, and other features).", "removal_hint": "Use `--export-py-non-hermetic-scripts-in-resolve` instead.", - "removal_version": "2.24.0.dev0", + "removal_version": "2.26.0.dev0", "scoped_cmd_line_args": [ "--export-py-hermetic-scripts", "--no-export-py-hermetic-scripts" @@ -8796,6 +8877,84 @@ ] } }, + "PANTS_FILE_DOWNLOADS_MAX_ATTEMPTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--file-downloads-max-attempts=", + "config_key": "file_downloads_max_attempts", + "default": 4, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--file-downloads-max-attempts=" + ], + "env_var": "PANTS_FILE_DOWNLOADS_MAX_ATTEMPTS", + "fromfile": false, + "help": "When Pants downloads files (for example, for the `http_source` source), Pants will retry the download if a \"retryable\" error occurs.\n\nThis option sets the maximum number of attempts Pants will make to try to download the file before giving up with an error.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--file-downloads-max-attempts" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--file-downloads-max-attempts" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 4 + } + ] + } + }, + "PANTS_FILE_DOWNLOADS_RETRY_DELAY": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--file-downloads-retry-delay=", + "config_key": "file_downloads_retry_delay", + "default": 0.2, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--file-downloads-retry-delay=" + ], + "env_var": "PANTS_FILE_DOWNLOADS_RETRY_DELAY", + "fromfile": false, + "help": "When Pants downloads files (for example, for the `http_source` source), Pants will retry the download if a \"retryable\" error occurs. Between each attempt, Pants will delay a random amount of time using an exponential backoff algorithm.\n\nThis option sets the \"base\" duration in seconds used for calculating the retry delay.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--file-downloads-retry-delay" + ], + "target_field_name": null, + "typ": "float", + "unscoped_cmd_line_args": [ + "--file-downloads-retry-delay" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 0.2 + } + ] + } + }, "PANTS_FILTER_ADDRESS_REGEX": { "choices": null, "comma_separated_choices": null, @@ -9387,7 +9546,7 @@ ], "env_var": "PANTS_FLAKE8_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `flake8` version 5.0.4.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `flake8` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `flake8` version 5.0.4.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `flake8` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -9421,7 +9580,7 @@ ], "env_var": "PANTS_FLAKE8_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -9501,7 +9660,7 @@ ], "env_var": "PANTS_FLAKE8_SOURCE_PLUGINS", "fromfile": false, - "help": "An optional list of `python_sources` target addresses to load first-party plugins.\n\nYou must set the plugin's parent directory as a source root. For example, if your plugin is at `build-support/flake8/custom_plugin.py`, add `'build-support/flake8'` to `[source].root_patterns` in `pants.toml`. This is necessary for Pants to know how to tell Flake8 to discover your plugin. See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/source-roots\n\nYou must also set `[flake8:local-plugins]` in your Flake8 config file.\n\nFor example:\n\n [flake8:local-plugins]\n extension =\n CUSTOMCODE = custom_plugin:MyChecker\n\nWhile your plugin's code can depend on other first-party code and third-party requirements, all first-party dependencies of the plugin must live in the same directory or a subdirectory.\n\nTo instead load third-party plugins, add them to a custom resolve alongside flake8 itself, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.", + "help": "An optional list of `python_sources` target addresses to load first-party plugins.\n\nYou must set the plugin's parent directory as a source root. For example, if your plugin is at `build-support/flake8/custom_plugin.py`, add `'build-support/flake8'` to `[source].root_patterns` in `pants.toml`. This is necessary for Pants to know how to tell Flake8 to discover your plugin. See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/source-roots\n\nYou must also set `[flake8:local-plugins]` in your Flake8 config file.\n\nFor example:\n\n [flake8:local-plugins]\n extension =\n CUSTOMCODE = custom_plugin:MyChecker\n\nWhile your plugin's code can depend on other first-party code and third-party requirements, all first-party dependencies of the plugin must live in the same directory or a subdirectory.\n\nTo instead load third-party plugins, add them to a custom resolve alongside flake8 itself, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -10106,7 +10265,7 @@ ], "env_var": "PANTS_GOLANGCI_LINT_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -10711,6 +10870,45 @@ ] } }, + "PANTS_GOLANG_EXTRA_TOOLS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--golang-extra-tools=\"['', '', ...]\"", + "config_key": "extra_tools", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--golang-extra-tools=\"['', '', ...]\"" + ], + "env_var": "PANTS_GOLANG_EXTRA_TOOLS", + "fromfile": false, + "help": "List any additional executable tools required for the `go` tool to work. The paths to these tools will be included in the PATH used in the execution sandbox. E.g. `go mod download` may require the `git` tool to download private modules.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--golang-extra-tools" + ], + "target_field_name": "golang_extra_tools", + "typ": "list", + "unscoped_cmd_line_args": [ + "--extra-tools" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, "PANTS_GOLANG_GO_SEARCH_PATHS": { "choices": null, "comma_separated_choices": null, @@ -10726,7 +10924,7 @@ ], "env_var": "PANTS_GOLANG_GO_SEARCH_PATHS", "fromfile": false, - "help": "A list of paths to search for Go.\n\nSpecify absolute paths to directories with the `go` binary, e.g. `/usr/bin`. Earlier entries will be searched first.\n\nThe following special strings are supported:\n\n* ``, the contents of the PATH environment variable\n* ``, all Go versions currently configured by ASDF `(asdf shell, ${HOME}/.tool-versions)`, with a fallback to all installed versions\n* ``, the ASDF binary with the version in `BUILD_ROOT/.tool-versions`", + "help": "A list of paths to search for Go and extra tools needed by go.\n\nSpecify absolute paths to directories with the `go` binary, e.g. `/usr/bin`. Earlier entries will be searched first.\n\nThe following special strings are supported:\n\n* ``, the contents of the PATH environment variable\n* ``, all Go versions currently configured by ASDF `(asdf shell, ${HOME}/.tool-versions)`, with a fallback to all installed versions\n* ``, the ASDF binary with the version in `BUILD_ROOT/.tool-versions`", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -11101,7 +11299,7 @@ ], "env_var": "PANTS_GOOGLE_JAVA_FORMAT_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/java/lint/google_java_format/google_java_format.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=google-java-format`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/java/lint/google_java_format/google_java_format.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=google-java-format`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -12020,7 +12218,7 @@ ], "env_var": "PANTS_GRPC_PYTHON_PLUGIN_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -12393,7 +12591,7 @@ ], "env_var": "PANTS_HADOLINT_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -12613,6 +12811,47 @@ ] } }, + "PANTS_HELM_INFER_DEPLOYMENT_DEPENDENCIES": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]helm-infer-deployment-dependencies", + "config_key": "deployment_dependencies", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]helm-infer-deployment-dependencies" + ], + "env_var": "PANTS_HELM_INFER_DEPLOYMENT_DEPENDENCIES", + "fromfile": false, + "help": "If true, parse k8s manifests generated by helm to find dependencies on other targets like docker images.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--helm-infer-deployment-dependencies", + "--no-helm-infer-deployment-dependencies" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--deployment-dependencies", + "--no-deployment-dependencies" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, "PANTS_HELM_INFER_EXTERNAL_DOCKER_IMAGES": { "choices": null, "comma_separated_choices": null, @@ -12708,7 +12947,7 @@ ], "env_var": "PANTS_HELM_K8S_PARSER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `hikaru` version 1.3.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `helm-k8s-parser` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `hikaru` version 1.3.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `helm-k8s-parser` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -12735,7 +12974,7 @@ "comma_separated_display_args": "--helm-k8s-parser-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -12766,7 +13005,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -12785,7 +13024,7 @@ ], "env_var": "PANTS_HELM_K8S_PARSER_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -13019,7 +13258,7 @@ ], "env_var": "PANTS_HELM_POST_RENDERER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yamlpath` version 3.8.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `helm-post-renderer` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yamlpath` version 3.8.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `helm-post-renderer` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -13046,7 +13285,7 @@ "comma_separated_display_args": "--helm-post-renderer-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<3.10" + "CPython>=3.8,<3.10" ], "deprecated_message": null, "deprecation_active": false, @@ -13077,7 +13316,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<3.10" + "CPython>=3.8,<3.10" ] } ] @@ -13096,7 +13335,7 @@ ], "env_var": "PANTS_HELM_POST_RENDERER_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -13487,7 +13726,7 @@ ], "env_var": "PANTS_HELM_UNITTEST_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -13656,7 +13895,7 @@ ], "env_var": "PANTS_HELM_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -14021,7 +14260,7 @@ ], "env_var": "PANTS_IPYTHON_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `ipython` version 7.34.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `ipython` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `ipython` version 8.12.3.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `ipython` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -14055,7 +14294,7 @@ ], "env_var": "PANTS_IPYTHON_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -14286,7 +14525,7 @@ ], "env_var": "PANTS_ISORT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `isort` version 5.11.5.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `isort` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `isort` version 5.13.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `isort` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -14313,7 +14552,7 @@ "comma_separated_display_args": "--isort-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -14344,7 +14583,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -14363,7 +14602,7 @@ ], "env_var": "PANTS_ISORT_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -14525,7 +14764,7 @@ ], "env_var": "PANTS_JARJAR_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/jvm/shading/jarjar.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=jarjar`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/jvm/shading/jarjar.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=jarjar`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -14769,7 +15008,7 @@ ], "env_var": "PANTS_JAR_TOOL_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/jvm/jar_tool/jar_tool.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=jar_tool`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/jvm/jar_tool/jar_tool.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=jar_tool`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -15004,7 +15243,7 @@ ], "env_var": "PANTS_JAVA_AVRO_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/codegen/avro/java/avro-tools.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=java-avro`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/codegen/avro/java/avro-tools.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=java-avro`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -15289,7 +15528,7 @@ ], "env_var": "PANTS_JAVA_PARSER_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/java/dependency_inference/java_parser.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=java-parser`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/java/dependency_inference/java_parser.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=java-parser`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -15527,7 +15766,7 @@ ], "env_var": "PANTS_JUNIT_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/jvm/test/junit.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=junit`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/jvm/test/junit.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=junit`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -16302,7 +16541,7 @@ ], "env_var": "PANTS_KOTLIN_PARSER_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/kotlin/dependency_inference/kotlin_parser.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=kotlin-parser`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/kotlin/dependency_inference/kotlin_parser.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=kotlin-parser`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -16453,7 +16692,7 @@ "comma_separated_display_args": "--ktlint-artifacts=\"['', '', ...]\"", "config_key": "artifacts", "default": [ - "com.pinterest:ktlint:{version}" + "com.pinterest.ktlint:ktlint-cli:{version}" ], "deprecated_message": null, "deprecation_active": false, @@ -16484,7 +16723,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "com.pinterest:ktlint:{version}" + "com.pinterest.ktlint:ktlint-cli:{version}" ] } ] @@ -16542,7 +16781,7 @@ ], "env_var": "PANTS_KTLINT_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/kotlin/lint/ktlint/ktlint.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=ktlint`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/kotlin/lint/ktlint/ktlint.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=ktlint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -16614,7 +16853,7 @@ "comma_separated_choices": null, "comma_separated_display_args": "--ktlint-version=", "config_key": "version", - "default": "0.45.2", + "default": "1.3.1", "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -16643,7 +16882,7 @@ { "details": null, "rank": "HARDCODED", - "value": "0.45.2" + "value": "1.3.1" } ] } @@ -16962,7 +17201,7 @@ ], "env_var": "PANTS_KUBECONFORM_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -17997,7 +18236,7 @@ ], "env_var": "PANTS_MAKESELF_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -18345,7 +18584,7 @@ ], "env_var": "PANTS_MYPY_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `mypy` version 1.4.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `mypy` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `mypy` version 1.11.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `mypy` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -18372,7 +18611,7 @@ "comma_separated_display_args": "--mypy-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -18403,7 +18642,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -18422,7 +18661,7 @@ ], "env_var": "PANTS_MYPY_PROTOBUF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `mypy-protobuf` version 3.4.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `mypy-protobuf` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `mypy-protobuf` version 3.6.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `mypy-protobuf` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -18449,7 +18688,7 @@ "comma_separated_display_args": "--mypy-protobuf-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -18480,7 +18719,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -18499,7 +18738,7 @@ ], "env_var": "PANTS_MYPY_PROTOBUF_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -18538,7 +18777,7 @@ ], "env_var": "PANTS_MYPY_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -18618,7 +18857,7 @@ ], "env_var": "PANTS_MYPY_SOURCE_PLUGINS", "fromfile": false, - "help": "An optional list of `python_sources` target addresses to load first-party plugins.\n\nYou must also set `plugins = path.to.module` in your `mypy.ini`, and set the `[mypy].config` option in your `pants.toml`.\n\nTo instead load third-party plugins, set the option `[mypy].install_from_resolve` to a resolve whose lockfile includes those plugins, and set the `plugins` option in `mypy.ini`. See https://www.pantsbuild.org/2.23/docs/python/goals/check.", + "help": "An optional list of `python_sources` target addresses to load first-party plugins.\n\nYou must also set `plugins = path.to.module` in your `mypy.ini`, and set the `[mypy].config` option in your `pants.toml`.\n\nTo instead load third-party plugins, set the option `[mypy].install_from_resolve` to a resolve whose lockfile includes those plugins, and set the `plugins` option in `mypy.ini`. See https://www.pantsbuild.org/2.24/docs/python/goals/check.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -18726,197 +18965,29 @@ ] } }, - "PANTS_NODEJS_COREPACK_ENV_VARS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-corepack-env-vars=\"[, , ...]\"", - "config_key": "corepack_env_vars", - "default": [], - "deprecated_message": null, - "deprecation_active": false, - "display_args": [ - "--nodejs-corepack-env-vars=\"[, , ...]\"" - ], - "env_var": "PANTS_NODEJS_COREPACK_ENV_VARS", - "fromfile": false, - "help": "Environment variables to set for `corepack` invocations.\n\nEntries are either strings in the form `ENV_VAR=value` to set an explicit value; or just `ENV_VAR` to copy the value from Pants's own environment.\n\nReview https://github.com/nodejs/corepack#environment-variables for available variables.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": [ - "--nodejs-corepack-env-vars" - ], - "target_field_name": "nodejs_corepack_env_vars", - "typ": "list", - "unscoped_cmd_line_args": [ - "--corepack-env-vars" - ], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [] - } - ] - } - }, - "PANTS_NODEJS_EXECUTABLE_SEARCH_PATHS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-executable-search-paths=\"[, , ...]\"", - "config_key": "executable_search_paths", - "default": [ - "" - ], - "deprecated_message": null, - "deprecation_active": false, - "display_args": [ - "--nodejs-executable-search-paths=\"[, , ...]\"" - ], - "env_var": "PANTS_NODEJS_EXECUTABLE_SEARCH_PATHS", - "fromfile": false, - "help": "The PATH value that will be used to find any tools required to run nodejs processes. The special string `\"\"` will expand to the contents of the PATH env var.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": [ - "--nodejs-executable-search-paths" - ], - "target_field_name": "nodejs_executable_search_paths", - "typ": "list", - "unscoped_cmd_line_args": [ - "--executable-search-paths" - ], - "value_history": { - "ranked_values": [ - { - "details": "", - "rank": "NONE", - "value": [] - }, - { - "details": "", - "rank": "HARDCODED", - "value": [ - "" - ] - } - ] - } - }, - "PANTS_NODEJS_INFER_IMPORTS": { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]nodejs-infer-imports", - "config_key": "imports", - "default": true, - "deprecated_message": null, - "deprecation_active": false, - "display_args": [ - "--[no-]nodejs-infer-imports" - ], - "env_var": "PANTS_NODEJS_INFER_IMPORTS", - "fromfile": false, - "help": "Infer a target's imported dependencies by parsing import statements from sources.\n\nTo ignore a false positive, you can either put `// pants: no-infer-dep` on the line of the import or put `!{bad_address}` in the `dependencies` field of your target.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": [ - "--nodejs-infer-imports", - "--no-nodejs-infer-imports" - ], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": [ - "--imports", - "--no-imports" - ], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true - } - ] - } - }, - "PANTS_NODEJS_INFER_PACKAGE_JSON_ENTRY_POINTS": { + "PANTS_NFPM_DEFAULT_MTIME": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]nodejs-infer-package-json-entry-points", - "config_key": "package_json_entry_points", - "default": true, - "deprecated_message": null, - "deprecation_active": false, - "display_args": [ - "--[no-]nodejs-infer-package-json-entry-points" - ], - "env_var": "PANTS_NODEJS_INFER_PACKAGE_JSON_ENTRY_POINTS", - "fromfile": false, - "help": "Infer a `package_json`'s dependencies by parsing entry point statements from the package.json file.\n\nTo ignore a false positive, you can put `!{bad_address}` in the `dependencies` field of the `package_json` target.\n\nSee https://nodejs.org/api/packages.html#package-entry-points and\n https://docs.npmjs.com/cli/v9/configuring-npm/package-json#browser.", - "removal_hint": null, - "removal_version": null, - "scoped_cmd_line_args": [ - "--nodejs-infer-package-json-entry-points", - "--no-nodejs-infer-package-json-entry-points" - ], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": [ - "--package-json-entry-points", - "--no-package-json-entry-points" - ], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": true - } - ] - } - }, - "PANTS_NODEJS_INFER_UNOWNED_DEPENDENCY_BEHAVIOR": { - "choices": [ - "error", - "warning", - "ignore" - ], - "comma_separated_choices": "error, warning, ignore", - "comma_separated_display_args": "--nodejs-infer-unowned-dependency-behavior=", - "config_key": "unowned_dependency_behavior", - "default": "warning", + "comma_separated_display_args": "--nfpm-default-mtime=", + "config_key": "default_mtime", + "default": "1980-01-01T00:00:00Z", "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-infer-unowned-dependency-behavior=" + "--nfpm-default-mtime=" ], - "env_var": "PANTS_NODEJS_INFER_UNOWNED_DEPENDENCY_BEHAVIOR", + "env_var": "PANTS_NFPM_DEFAULT_MTIME", "fromfile": false, - "help": "How to handle imports that don't have an inferrable owner.\n\nUsually when an import cannot be inferred, it represents an issue like Pants not being properly configured, e.g. targets not set up. Often, missing dependencies will result in confusing runtime errors like `Error: ENOENT: no such file or directory`, so this option can be helpful to error more eagerly.\n\nTo ignore any false positives, add `// pants: no-infer-dep` to the line of the import", + "help": "The file modification time as an RFC 3339 formatted string.\n\nFor example: 2008-01-02T15:04:05Z\n\nThe format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html\n\nThis option sets the default value for: - the `package_mtime` field on `nfpm_*_package` targets, and - the `file_mtime` field on `nfpm_content_*` targets.\n\nThe default value is '1980-01-01T00:00:00Z'. You may also set the SOURCE_DATE_EPOCH environment variable to override this default.\n\nSee also: https://reproducible-builds.org/docs/timestamps/", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--nodejs-infer-unowned-dependency-behavior" + "--nfpm-default-mtime" ], - "target_field_name": null, - "typ": "UnownedDependencyUsage", + "target_field_name": "nfpm_default_mtime", + "typ": "str", "unscoped_cmd_line_args": [ - "--unowned-dependency-behavior" + "--default-mtime" ], "value_history": { "ranked_values": [ @@ -18928,34 +18999,36 @@ { "details": null, "rank": "HARDCODED", - "value": "warning" + "value": "1980-01-01T00:00:00Z" } ] } }, - "PANTS_NODEJS_KNOWN_VERSIONS": { + "PANTS_NFPM_KNOWN_VERSIONS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--nodejs-known-versions=\"['', '', ...]\"", + "comma_separated_display_args": "--nfpm-known-versions=\"['', '', ...]\"", "config_key": "known_versions", "default": [ - "v20.15.1|macos_arm64|4743bc042f90ba5d9edf09403207290a9cdd2f6061bdccf7caaa0bbfd49f343e|41888895", - "v20.15.1|macos_x86_64|f5379772ffae1404cfd1fcc8cf0c6c5971306b8fb2090d348019047306de39dc|43531593", - "v20.15.1|linux_arm64|10d47a46ef208b3e4b226e4d595a82659123b22397ed77b7975d989114ec317e|24781292", - "v20.15.1|linux_x86_64|26700f8d3e78112ad4a2618a9c8e2816e38a49ecf0213ece80e54c38cb02563f|25627852" + "2.38.0|linux_arm64 |e63be8d586d7c8f6af06945956aa29fb88388caa19d7c5b652f41ae37a155b27|4780662", + "2.38.0|linux_x86_64|d9eebe93ee2832cfc8435b3f79ee92a845f1e5fbb99db5a3777a0013e175170d|5196368", + "2.38.0|macos_arm64 |48788831696cf056b1a0f9f52e187dbb65c191f5488962696ab3b98fff9f7821|4978997", + "2.38.0|macos_x86_64|781420f18ed6bd84a437fe3b272c1b1a03bad546aaaf4f7251b21c25a24ce32b|5294310", + "2.38.0|win_arm64 |1a9c7fcd50eb105231f6f6f6cb90d7cdf50e6c34665eb6e881a185387ad158b1|4888861", + "2.38.0|win_x86_64 |3124f9bb838410ef98eebfed2267670790ce6bb262ae2a6ca1938a69e087593b|5389117" ], "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--nodejs-known-versions=\"['', '', ...]\"" + "--nfpm-known-versions=\"['', '', ...]\"" ], - "env_var": "PANTS_NODEJS_KNOWN_VERSIONS", + "env_var": "PANTS_NFPM_KNOWN_VERSIONS", "fromfile": false, "help": "\nKnown versions to verify downloads against.\n\nEach element is a pipe-separated string of `version|platform|sha256|length` or\n`version|platform|sha256|length|url_override`, where:\n\n - `version` is the version string\n - `platform` is one of `[linux_arm64,linux_x86_64,macos_arm64,macos_x86_64]`\n - `sha256` is the 64-character hex representation of the expected sha256\n digest of the download file, as emitted by `shasum -a 256`\n - `length` is the expected length of the download file in bytes, as emitted by\n `wc -c`\n - (Optional) `url_override` is a specific url to use instead of the normally\n generated url for this version\n\nE.g., `3.1.2|macos_x86_64|6d0f18cd84b918c7b3edd0203e75569e0c7caecb1367bbbe409b44e28514f5be|42813`.\nand `3.1.2|macos_arm64 |aca5c1da0192e2fd46b7b55ab290a92c5f07309e7b0ebf4e45ba95731ae98291|50926|https://example.mac.org/bin/v3.1.2/mac-aarch64-v3.1.2.tgz`.\n\nValues are space-stripped, so pipes can be indented for readability if necessary.\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--nodejs-known-versions" + "--nfpm-known-versions" ], "target_field_name": null, "typ": "list", @@ -18973,10 +19046,441 @@ "details": "", "rank": "HARDCODED", "value": [ - "v20.15.1|macos_arm64|4743bc042f90ba5d9edf09403207290a9cdd2f6061bdccf7caaa0bbfd49f343e|41888895", - "v20.15.1|macos_x86_64|f5379772ffae1404cfd1fcc8cf0c6c5971306b8fb2090d348019047306de39dc|43531593", - "v20.15.1|linux_arm64|10d47a46ef208b3e4b226e4d595a82659123b22397ed77b7975d989114ec317e|24781292", - "v20.15.1|linux_x86_64|26700f8d3e78112ad4a2618a9c8e2816e38a49ecf0213ece80e54c38cb02563f|25627852" + "2.38.0|linux_arm64 |e63be8d586d7c8f6af06945956aa29fb88388caa19d7c5b652f41ae37a155b27|4780662", + "2.38.0|linux_x86_64|d9eebe93ee2832cfc8435b3f79ee92a845f1e5fbb99db5a3777a0013e175170d|5196368", + "2.38.0|macos_arm64 |48788831696cf056b1a0f9f52e187dbb65c191f5488962696ab3b98fff9f7821|4978997", + "2.38.0|macos_x86_64|781420f18ed6bd84a437fe3b272c1b1a03bad546aaaf4f7251b21c25a24ce32b|5294310", + "2.38.0|win_arm64 |1a9c7fcd50eb105231f6f6f6cb90d7cdf50e6c34665eb6e881a185387ad158b1|4888861", + "2.38.0|win_x86_64 |3124f9bb838410ef98eebfed2267670790ce6bb262ae2a6ca1938a69e087593b|5389117" + ] + } + ] + } + }, + "PANTS_NFPM_URL_PLATFORM_MAPPING": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--nfpm-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "Linux_arm64.tar.gz", + "linux_x86_64": "Linux_x86_64.tar.gz", + "macos_arm64": "Darwin_arm64.tar.gz", + "macos_x86_64": "Darwin_x86_64.tar.gz", + "win_arm64": "Windows_arm64.zip", + "win_x86_64": "Windows_x86_64.zip" + }, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nfpm-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_NFPM_URL_PLATFORM_MAPPING", + "fromfile": false, + "help": "A dictionary mapping platforms to strings to be used when generating the URL to download the tool.\n\nIn `--url-template`, anytime the `{platform}` string is used, Pants will determine the current platform, and substitute `{platform}` with the respective value from your dictionary.\n\nFor example, if you define `{\"macos_x86_64\": \"apple-darwin\", \"linux_x86_64\": \"unknown-linux\"}`, and run Pants on Linux with an intel architecture, then `{platform}` will be substituted in the `--url-template` option with `unknown-linux`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nfpm-url-platform-mapping" + ], + "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": { + "linux_arm64": "Linux_arm64.tar.gz", + "linux_x86_64": "Linux_x86_64.tar.gz", + "macos_arm64": "Darwin_arm64.tar.gz", + "macos_x86_64": "Darwin_x86_64.tar.gz", + "win_arm64": "Windows_arm64.zip", + "win_x86_64": "Windows_x86_64.zip" + } + } + ] + } + }, + "PANTS_NFPM_URL_TEMPLATE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--nfpm-url-template=", + "config_key": "url_template", + "default": "https://github.com/goreleaser/nfpm/releases/download/v{version}/nfpm_{version}_{platform}", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nfpm-url-template=" + ], + "env_var": "PANTS_NFPM_URL_TEMPLATE", + "fromfile": false, + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nfpm-url-template" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "https://github.com/goreleaser/nfpm/releases/download/v{version}/nfpm_{version}_{platform}" + } + ] + } + }, + "PANTS_NFPM_USE_UNSUPPORTED_VERSION": { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--nfpm-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nfpm-use-unsupported-version=" + ], + "env_var": "PANTS_NFPM_USE_UNSUPPORTED_VERSION", + "fromfile": false, + "help": "\nWhat action to take in case the requested version of nFPM is not supported.\n\nSupported nFPM versions: unspecified\n", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nfpm-use-unsupported-version" + ], + "target_field_name": null, + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "error" + } + ] + } + }, + "PANTS_NFPM_VERSION": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--nfpm-version=", + "config_key": "version", + "default": "2.38.0", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nfpm-version=" + ], + "env_var": "PANTS_NFPM_VERSION", + "fromfile": false, + "help": "Use this version of nFPM.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nfpm-version" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "2.38.0" + } + ] + } + }, + "PANTS_NODEJS_COREPACK_ENV_VARS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--nodejs-corepack-env-vars=\"[, , ...]\"", + "config_key": "corepack_env_vars", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nodejs-corepack-env-vars=\"[, , ...]\"" + ], + "env_var": "PANTS_NODEJS_COREPACK_ENV_VARS", + "fromfile": false, + "help": "Environment variables to set for `corepack` invocations.\n\nEntries are either strings in the form `ENV_VAR=value` to set an explicit value; or just `ENV_VAR` to copy the value from Pants's own environment.\n\nReview https://github.com/nodejs/corepack#environment-variables for available variables.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nodejs-corepack-env-vars" + ], + "target_field_name": "nodejs_corepack_env_vars", + "typ": "list", + "unscoped_cmd_line_args": [ + "--corepack-env-vars" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, + "PANTS_NODEJS_EXECUTABLE_SEARCH_PATHS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--nodejs-executable-search-paths=\"[, , ...]\"", + "config_key": "executable_search_paths", + "default": [ + "" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nodejs-executable-search-paths=\"[, , ...]\"" + ], + "env_var": "PANTS_NODEJS_EXECUTABLE_SEARCH_PATHS", + "fromfile": false, + "help": "The PATH value that will be used to find any tools required to run nodejs processes. The special string `\"\"` will expand to the contents of the PATH env var.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nodejs-executable-search-paths" + ], + "target_field_name": "nodejs_executable_search_paths", + "typ": "list", + "unscoped_cmd_line_args": [ + "--executable-search-paths" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "" + ] + } + ] + } + }, + "PANTS_NODEJS_INFER_IMPORTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]nodejs-infer-imports", + "config_key": "imports", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]nodejs-infer-imports" + ], + "env_var": "PANTS_NODEJS_INFER_IMPORTS", + "fromfile": false, + "help": "Infer a target's imported dependencies by parsing import statements from sources.\n\nTo ignore a false positive, you can either put `// pants: no-infer-dep` on the line of the import or put `!{bad_address}` in the `dependencies` field of your target.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nodejs-infer-imports", + "--no-nodejs-infer-imports" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--imports", + "--no-imports" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_NODEJS_INFER_PACKAGE_JSON_ENTRY_POINTS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]nodejs-infer-package-json-entry-points", + "config_key": "package_json_entry_points", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]nodejs-infer-package-json-entry-points" + ], + "env_var": "PANTS_NODEJS_INFER_PACKAGE_JSON_ENTRY_POINTS", + "fromfile": false, + "help": "Infer a `package_json`'s dependencies by parsing entry point statements from the package.json file.\n\nTo ignore a false positive, you can put `!{bad_address}` in the `dependencies` field of the `package_json` target.\n\nSee https://nodejs.org/api/packages.html#package-entry-points and\n https://docs.npmjs.com/cli/v9/configuring-npm/package-json#browser.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nodejs-infer-package-json-entry-points", + "--no-nodejs-infer-package-json-entry-points" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--package-json-entry-points", + "--no-package-json-entry-points" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, + "PANTS_NODEJS_INFER_UNOWNED_DEPENDENCY_BEHAVIOR": { + "choices": [ + "error", + "warning", + "ignore" + ], + "comma_separated_choices": "error, warning, ignore", + "comma_separated_display_args": "--nodejs-infer-unowned-dependency-behavior=", + "config_key": "unowned_dependency_behavior", + "default": "warning", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nodejs-infer-unowned-dependency-behavior=" + ], + "env_var": "PANTS_NODEJS_INFER_UNOWNED_DEPENDENCY_BEHAVIOR", + "fromfile": false, + "help": "How to handle imports that don't have an inferrable owner.\n\nUsually when an import cannot be inferred, it represents an issue like Pants not being properly configured, e.g. targets not set up. Often, missing dependencies will result in confusing runtime errors like `Error: ENOENT: no such file or directory`, so this option can be helpful to error more eagerly.\n\nTo ignore any false positives, add `// pants: no-infer-dep` to the line of the import", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nodejs-infer-unowned-dependency-behavior" + ], + "target_field_name": null, + "typ": "UnownedDependencyUsage", + "unscoped_cmd_line_args": [ + "--unowned-dependency-behavior" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "warning" + } + ] + } + }, + "PANTS_NODEJS_KNOWN_VERSIONS": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--nodejs-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "v22.6.0|macos_arm64|9ea60766807cd3c3a3ad6ad419f98918d634a60fe8dea5b9c07507ed0f176d4c|47583427", + "v22.6.0|macos_x86_64|8766c5968ca22d20fc6237c54c7c5d12ef12e15940d6119a79144ccb163ea737|49688634", + "v22.6.0|linux_arm64|0053ee0426c4daaa65c44f2cef87be45135001c3145cfb840aa1d0e6f2619610|28097296", + "v22.6.0|linux_x86_64|acbbe539edc33209bb3e1b25f7545b5ca5d70e6256ed8318e1ec1e41e7b35703|29240984" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nodejs-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_NODEJS_KNOWN_VERSIONS", + "fromfile": false, + "help": "\nKnown versions to verify downloads against.\n\nEach element is a pipe-separated string of `version|platform|sha256|length` or\n`version|platform|sha256|length|url_override`, where:\n\n - `version` is the version string\n - `platform` is one of `[linux_arm64,linux_x86_64,macos_arm64,macos_x86_64]`\n - `sha256` is the 64-character hex representation of the expected sha256\n digest of the download file, as emitted by `shasum -a 256`\n - `length` is the expected length of the download file in bytes, as emitted by\n `wc -c`\n - (Optional) `url_override` is a specific url to use instead of the normally\n generated url for this version\n\nE.g., `3.1.2|macos_x86_64|6d0f18cd84b918c7b3edd0203e75569e0c7caecb1367bbbe409b44e28514f5be|42813`.\nand `3.1.2|macos_arm64 |aca5c1da0192e2fd46b7b55ab290a92c5f07309e7b0ebf4e45ba95731ae98291|50926|https://example.mac.org/bin/v3.1.2/mac-aarch64-v3.1.2.tgz`.\n\nValues are space-stripped, so pipes can be indented for readability if necessary.\n", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nodejs-known-versions" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "v22.6.0|macos_arm64|9ea60766807cd3c3a3ad6ad419f98918d634a60fe8dea5b9c07507ed0f176d4c|47583427", + "v22.6.0|macos_x86_64|8766c5968ca22d20fc6237c54c7c5d12ef12e15940d6119a79144ccb163ea737|49688634", + "v22.6.0|linux_arm64|0053ee0426c4daaa65c44f2cef87be45135001c3145cfb840aa1d0e6f2619610|28097296", + "v22.6.0|linux_x86_64|acbbe539edc33209bb3e1b25f7545b5ca5d70e6256ed8318e1ec1e41e7b35703|29240984" ] } ] @@ -19027,7 +19531,7 @@ "comma_separated_display_args": "--nodejs-package-managers=\"{'key1': val1, 'key2': val2, ...}\"", "config_key": "package_managers", "default": { - "npm": "10.8.1", + "npm": "10.8.2", "pnpm": "9.5.0", "yarn": "1.22.22" }, @@ -19060,7 +19564,7 @@ "details": "", "rank": "HARDCODED", "value": { - "npm": "10.8.1", + "npm": "10.8.2", "pnpm": "9.5.0", "yarn": "1.22.22" } @@ -19292,7 +19796,7 @@ ], "env_var": "PANTS_NODEJS_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -19323,7 +19827,7 @@ "comma_separated_choices": null, "comma_separated_display_args": "--nodejs-version=", "config_key": "version", - "default": "v20.15.1", + "default": "v22.6.0", "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -19352,7 +19856,7 @@ { "details": null, "rank": "HARDCODED", - "value": "v20.15.1" + "value": "v22.6.0" } ] } @@ -19605,7 +20109,7 @@ ], "env_var": "PANTS_OPENAPI_GENERATOR_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/openapi/subsystems/openapi_generator.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=openapi-generator`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/openapi/subsystems/openapi_generator.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=openapi-generator`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -20296,43 +20800,41 @@ ] } }, - "PANTS_PEX_BINARY_DEFAULTS_RESOLVE_LOCAL_PLATFORMS": { + "PANTS_PEX_CLI_GLOBAL_ARGS": { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pex-binary-defaults-resolve-local-platforms", - "config_key": "resolve_local_platforms", - "default": false, - "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.24.0.dev0.", - "deprecation_active": true, + "comma_separated_display_args": "--pex-cli-global-args=\"[, , ...]\"", + "config_key": "global_args", + "default": [], + "deprecated_message": null, + "deprecation_active": false, "display_args": [ - "--[no-]pex-binary-defaults-resolve-local-platforms" + "--pex-cli-global-args=\"[, , ...]\"" ], - "env_var": "PANTS_PEX_BINARY_DEFAULTS_RESOLVE_LOCAL_PLATFORMS", + "env_var": "PANTS_PEX_CLI_GLOBAL_ARGS", "fromfile": false, - "help": "Now unused.", - "removal_hint": "This `resolve_local_platforms` option is no longer used now that the `platforms` field has been removed. You can safely delete this setting.", - "removal_version": "2.24.0.dev0", + "help": "Arguments to pass directly to pex, e.g. `--pex-cli-args='--check=error --no-compile'`.\n\nNote that these apply to all invocations of the pex tool, including building `pex_binary` targets, preparing `python_test` targets to run, and generating lockfiles.", + "removal_hint": null, + "removal_version": null, "scoped_cmd_line_args": [ - "--pex-binary-defaults-resolve-local-platforms", - "--no-pex-binary-defaults-resolve-local-platforms" + "--pex-cli-global-args" ], "target_field_name": null, - "typ": "bool", + "typ": "list", "unscoped_cmd_line_args": [ - "--resolve-local-platforms", - "--no-resolve-local-platforms" + "--global-args" ], "value_history": { "ranked_values": [ { - "details": null, + "details": "", "rank": "NONE", - "value": null + "value": [] }, { - "details": null, + "details": "", "rank": "HARDCODED", - "value": false + "value": [] } ] } @@ -20343,10 +20845,10 @@ "comma_separated_display_args": "--pex-cli-known-versions=\"['', '', ...]\"", "config_key": "known_versions", "default": [ - "v2.11.0|macos_arm64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790", - "v2.11.0|macos_x86_64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790", - "v2.11.0|linux_x86_64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790", - "v2.11.0|linux_arm64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790" + "v2.16.2|macos_arm64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448", + "v2.16.2|macos_x86_64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448", + "v2.16.2|linux_x86_64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448", + "v2.16.2|linux_arm64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448" ], "deprecated_message": null, "deprecation_active": false, @@ -20377,10 +20879,10 @@ "details": "", "rank": "HARDCODED", "value": [ - "v2.11.0|macos_arm64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790", - "v2.11.0|macos_x86_64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790", - "v2.11.0|linux_x86_64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790", - "v2.11.0|linux_arm64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790" + "v2.16.2|macos_arm64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448", + "v2.16.2|macos_x86_64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448", + "v2.16.2|linux_x86_64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448", + "v2.16.2|linux_arm64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448" ] } ] @@ -20433,7 +20935,7 @@ ], "env_var": "PANTS_PEX_CLI_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -20475,7 +20977,7 @@ ], "env_var": "PANTS_PEX_CLI_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "\nWhat action to take in case the requested version of pex is not supported.\n\nSupported pex versions: >=2.3.0,<3.0\n", + "help": "\nWhat action to take in case the requested version of pex is not supported.\n\nSupported pex versions: >=2.13.0,<3.0\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -20506,7 +21008,7 @@ "comma_separated_choices": null, "comma_separated_display_args": "--pex-cli-version=", "config_key": "version", - "default": "v2.11.0", + "default": "v2.16.2", "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -20514,7 +21016,7 @@ ], "env_var": "PANTS_PEX_CLI_VERSION", "fromfile": false, - "help": "Use this version of pex.\n\nSupported pex versions: >=2.3.0,<3.0", + "help": "Use this version of pex.\n\nSupported pex versions: >=2.13.0,<3.0", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -20535,7 +21037,7 @@ { "details": null, "rank": "HARDCODED", - "value": "v2.11.0" + "value": "v2.16.2" } ] } @@ -21499,7 +22001,7 @@ ], "env_var": "PANTS_PROTOBUF_JAVA_GRPC_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/codegen/protobuf/java/grpc-java.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=protobuf-java-grpc`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/codegen/protobuf/java/grpc-java.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=protobuf-java-grpc`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -21773,7 +22275,7 @@ ], "env_var": "PANTS_PROTOC_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -22114,7 +22616,7 @@ ], "env_var": "PANTS_PYDOCSTYLE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pydocstyle` version 6.3.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pydocstyle` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pydocstyle` version 6.3.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pydocstyle` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -22141,7 +22643,7 @@ "comma_separated_display_args": "--pydocstyle-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -22172,7 +22674,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -22191,7 +22693,7 @@ ], "env_var": "PANTS_PYDOCSTYLE_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -22393,7 +22895,7 @@ ], "env_var": "PANTS_PYENV_PYTHON_PROVIDER_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -22700,7 +23202,7 @@ ], "env_var": "PANTS_PYLINT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pylint` version 2.13.9.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pylint` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pylint` version 2.17.7.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pylint` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -22734,7 +23236,7 @@ ], "env_var": "PANTS_PYLINT_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -22814,7 +23316,7 @@ ], "env_var": "PANTS_PYLINT_SOURCE_PLUGINS", "fromfile": false, - "help": "An optional list of `python_sources` target addresses to load first-party plugins.\n\nYou must set the plugin's parent directory as a source root. For example, if your plugin is at `build-support/pylint/custom_plugin.py`, add `'build-support/pylint'` to `[source].root_patterns` in `pants.toml`. This is necessary for Pants to know how to tell Pylint to discover your plugin. See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/source-roots\n\nYou must also set `load-plugins=$module_name` in your Pylint config file.\n\nWhile your plugin's code can depend on other first-party code and third-party requirements, all first-party dependencies of the plugin must live in the same directory or a subdirectory.\n\nTo instead load third-party plugins, add them to a custom resolve alongside pylint itself, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.", + "help": "An optional list of `python_sources` target addresses to load first-party plugins.\n\nYou must set the plugin's parent directory as a source root. For example, if your plugin is at `build-support/pylint/custom_plugin.py`, add `'build-support/pylint'` to `[source].root_patterns` in `pants.toml`. This is necessary for Pants to know how to tell Pylint to discover your plugin. See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/source-roots\n\nYou must also set `load-plugins=$module_name` in your Pylint config file.\n\nWhile your plugin's code can depend on other first-party code and third-party requirements, all first-party dependencies of the plugin must live in the same directory or a subdirectory.\n\nTo instead load third-party plugins, add them to a custom resolve alongside pylint itself, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -22965,7 +23467,7 @@ ], "env_var": "PANTS_PYOXIDIZER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pyoxidizer` version 0.24.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pyoxidizer` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pyoxidizer` version 0.24.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pyoxidizer` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -23042,7 +23544,7 @@ ], "env_var": "PANTS_PYOXIDIZER_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -23147,7 +23649,7 @@ "comma_separated_display_args": "--pyright-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -23178,7 +23680,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -23499,7 +24001,7 @@ ], "env_var": "PANTS_PYTEST_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pytest` version 7.0.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pytest` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pytest` version 7.0.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pytest` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -23572,7 +24074,7 @@ ], "env_var": "PANTS_PYTEST_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -24109,7 +24611,7 @@ ], "env_var": "PANTS_PYTHON_GRPCLIB_PROTOBUF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `grpclib` version 0.4.7.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `python-grpclib-protobuf` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `grpclib` version 0.4.7.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `python-grpclib-protobuf` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -24136,7 +24638,7 @@ "comma_separated_display_args": "--python-grpclib-protobuf-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -24167,7 +24669,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -24186,7 +24688,7 @@ ], "env_var": "PANTS_PYTHON_GRPCLIB_PROTOBUF_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -24766,7 +25268,7 @@ ], "env_var": "PANTS_PYTHON_INTERPRETER_VERSIONS_UNIVERSE", "fromfile": false, - "help": "All known Python major/minor interpreter versions that may be used by either your code or tools used by your code.\n\nThis is used by Pants to robustly handle interpreter constraints, such as knowing when generating lockfiles which Python versions to check if your code is using.\n\nThis does not control which interpreter your code will use. Instead, to set your interpreter constraints, update `[python].interpreter_constraints`, the `interpreter_constraints` field, and relevant tool options like `[isort].interpreter_constraints` to tell Pants which interpreters your code actually uses. See https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility.\n\nAll elements must be the minor and major Python version, e.g. `'2.7'` or `'3.10'`. Do not include the patch version.", + "help": "All known Python major/minor interpreter versions that may be used by either your code or tools used by your code.\n\nThis is used by Pants to robustly handle interpreter constraints, such as knowing when generating lockfiles which Python versions to check if your code is using.\n\nThis does not control which interpreter your code will use. Instead, to set your interpreter constraints, update `[python].interpreter_constraints`, the `interpreter_constraints` field, and relevant tool options like `[isort].interpreter_constraints` to tell Pants which interpreters your code actually uses. See https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility.\n\nAll elements must be the minor and major Python version, e.g. `'2.7'` or `'3.10'`. Do not include the patch version.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -24978,7 +25480,7 @@ "comma_separated_choices": null, "comma_separated_display_args": "--python-pip-version=", "config_key": "pip_version", - "default": "24.0", + "default": "24.2", "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -24986,7 +25488,7 @@ ], "env_var": "PANTS_PYTHON_PIP_VERSION", "fromfile": false, - "help": "Use this version of Pip for resolving requirements and generating lockfiles.\n\nThe value used here must be one of the Pip versions supported by the underlying PEX version. See https://www.pantsbuild.org/2.23/docs/python/overview/pex for details.\n\nN.B.: The `latest` value selects the latest of the choices listed by PEX which is not necessarily the latest Pip version released on PyPI.", + "help": "Use this version of Pip for resolving requirements and generating lockfiles.\n\nThe value used here must be one of the Pip versions supported by the underlying PEX version. See https://www.pantsbuild.org/2.24/docs/python/overview/pex for details.\n\nN.B.: The `latest` value selects the latest of the choices listed by PEX which is not necessarily the latest Pip version released on PyPI.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -25007,7 +25509,7 @@ { "details": null, "rank": "HARDCODED", - "value": "24.0" + "value": "24.2" } ] } @@ -25312,7 +25814,7 @@ ], "env_var": "PANTS_PYTHON_REPOS_PATH_MAPPINGS", "fromfile": false, - "help": "Mappings to facilitate using local Python requirements when the absolute file paths are different on different users' machines. For example, the path `file:///Users/pantsbuild/prebuilt_wheels/django-3.1.1-py3-none-any.whl` could become `file://${WHEELS_DIR}/django-3.1.1-py3-none-any.whl`, where each user can configure what `WHEELS_DIR` points to on their machine.\n\nExpects values in the form `NAME|PATH`, e.g. `WHEELS_DIR|/Users/pantsbuild/prebuilt_wheels`. You can specify multiple entries in the list.\n\nThis feature is intended to be used with `[python-repos].find_links`, rather than PEP 440 direct reference requirements (see https://www.pantsbuild.org/2.23/docs/python/overview/third-party-dependencies#local-requirements. `[python-repos].find_links` must be configured to a valid absolute path for the current machine.\n\nTip: you can avoid each user needing to manually configure this option and `[python-repos].find_links` by using a common file location, along with Pants's interpolation support (https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-interpolation. For example, in `pants.toml`, you could set both options to `%(buildroot)s/python_wheels` to point to the directory `python_wheels` in the root of your repository; or, use the path `%(env.HOME)s/pants_wheels` for the path `~/pants_wheels`. If you are not able to use a common path like this, then we recommend setting that each user set these options via a `.pants.rc` file (https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#pantsrc-file.\n\nNote: Only takes effect if using Pex lockfiles, i.e. using the `generate-lockfiles` goal.", + "help": "Mappings to facilitate using local Python requirements when the absolute file paths are different on different users' machines. For example, the path `file:///Users/pantsbuild/prebuilt_wheels/django-3.1.1-py3-none-any.whl` could become `file://${WHEELS_DIR}/django-3.1.1-py3-none-any.whl`, where each user can configure what `WHEELS_DIR` points to on their machine.\n\nExpects values in the form `NAME|PATH`, e.g. `WHEELS_DIR|/Users/pantsbuild/prebuilt_wheels`. You can specify multiple entries in the list.\n\nThis feature is intended to be used with `[python-repos].find_links`, rather than PEP 440 direct reference requirements (see https://www.pantsbuild.org/2.24/docs/python/overview/third-party-dependencies#local-requirements. `[python-repos].find_links` must be configured to a valid absolute path for the current machine.\n\nTip: you can avoid each user needing to manually configure this option and `[python-repos].find_links` by using a common file location, along with Pants's interpolation support (https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-interpolation. For example, in `pants.toml`, you could set both options to `%(buildroot)s/python_wheels` to point to the directory `python_wheels` in the root of your repository; or, use the path `%(env.HOME)s/pants_wheels` for the path `~/pants_wheels`. If you are not able to use a common path like this, then we recommend setting that each user set these options via a `.pants.rc` file (https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#pantsrc-file.\n\nNote: Only takes effect if using Pex lockfiles, i.e. using the `generate-lockfiles` goal.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -25465,7 +25967,7 @@ ], "env_var": "PANTS_PYTHON_RESOLVES", "fromfile": false, - "help": "A mapping of logical names to lockfile paths used in your project.\n\nMany organizations only need a single resolve for their whole project, which is a good default and often the simplest thing to do. However, you may need multiple resolves, such as if you use two conflicting versions of a requirement in your repository.\n\nIf you only need a single resolve, run `pants generate-lockfiles` to generate the lockfile.\n\nIf you need multiple resolves:\n\n 1. Via this option, define multiple resolve names and their lockfile paths. The names should be meaningful to your repository, such as `data-science` or `pants-plugins`.\n 2. Set the default with `[python].default_resolve`.\n 3. Update your `python_requirement` targets with the `resolve` field to declare which resolve they should be available in. They default to `[python].default_resolve`, so you only need to update targets that you want in non-default resolves. (Often you'll set this via the `python_requirements` or `poetry_requirements` target generators)\n 4. Run `pants generate-lockfiles` to generate the lockfiles. If the results aren't what you'd expect, adjust the prior step.\n 5. Update any targets like `python_source` / `python_sources`, `python_test` / `python_tests`, and `pex_binary` which need to set a non-default resolve with the `resolve` field.\n\nIf a target can work with multiple resolves, you can either use the `parametrize` mechanism or manually create a distinct target per resolve. See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for information about `parametrize`.\n\nFor example:\n\n python_sources(\n resolve=parametrize(\"data-science\", \"web-app\"),\n )\n\nYou can name the lockfile paths what you would like; Pants does not expect a certain file extension or location.\n\nOnly applies if `[python].enable_resolves` is true.", + "help": "A mapping of logical names to lockfile paths used in your project.\n\nMany organizations only need a single resolve for their whole project, which is a good default and often the simplest thing to do. However, you may need multiple resolves, such as if you use two conflicting versions of a requirement in your repository.\n\nIf you only need a single resolve, run `pants generate-lockfiles` to generate the lockfile.\n\nIf you need multiple resolves:\n\n 1. Via this option, define multiple resolve names and their lockfile paths. The names should be meaningful to your repository, such as `data-science` or `pants-plugins`.\n 2. Set the default with `[python].default_resolve`.\n 3. Update your `python_requirement` targets with the `resolve` field to declare which resolve they should be available in. They default to `[python].default_resolve`, so you only need to update targets that you want in non-default resolves. (Often you'll set this via the `python_requirements` or `poetry_requirements` target generators)\n 4. Run `pants generate-lockfiles` to generate the lockfiles. If the results aren't what you'd expect, adjust the prior step.\n 5. Update any targets like `python_source` / `python_sources`, `python_test` / `python_tests`, and `pex_binary` which need to set a non-default resolve with the `resolve` field.\n\nIf a target can work with multiple resolves, you can either use the `parametrize` mechanism or manually create a distinct target per resolve. See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for information about `parametrize`.\n\nFor example:\n\n python_sources(\n resolve=parametrize(\"data-science\", \"web-app\"),\n )\n\nYou can name the lockfile paths what you would like; Pants does not expect a certain file extension or location.\n\nOnly applies if `[python].enable_resolves` is true.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -26057,6 +26559,47 @@ ] } }, + "PANTS_PYTHON_WARN_ON_PYTHON2_USAGE": { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]python-warn-on-python2-usage", + "config_key": "warn_on_python2_usage", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]python-warn-on-python2-usage" + ], + "env_var": "PANTS_PYTHON_WARN_ON_PYTHON2_USAGE", + "fromfile": false, + "help": "True if Pants should generate a deprecation warning when Python 2.x is used in interpreter constraints.\n\nAs of Pants v2.24.x and later, Pants will no longer be tested regularly with Python 2.7.x. As such, going forward, Pants may or may not work with Python 2.7. This option allows disabling the deprecation warning announcing this policy change.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--python-warn-on-python2-usage", + "--no-python-warn-on-python2-usage" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--warn-on-python2-usage", + "--no-warn-on-python2-usage" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + }, "PANTS_PYTYPE_ARGS": { "choices": null, "comma_separated_choices": null, @@ -26216,7 +26759,7 @@ ], "env_var": "PANTS_PYTYPE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pytype` version 2023.6.16.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pytype` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pytype` version 2023.6.16.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pytype` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -26243,7 +26786,7 @@ "comma_separated_display_args": "--pytype-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<3.11" + "CPython>=3.8,<3.11" ], "deprecated_message": null, "deprecation_active": false, @@ -26274,7 +26817,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<3.11" + "CPython>=3.8,<3.11" ] } ] @@ -26293,7 +26836,7 @@ ], "env_var": "PANTS_PYTYPE_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -26485,7 +27028,7 @@ ], "env_var": "PANTS_PYUPGRADE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pyupgrade` version 3.3.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pyupgrade` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pyupgrade` version 3.8.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pyupgrade` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -26512,7 +27055,7 @@ "comma_separated_display_args": "--pyupgrade-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -26543,7 +27086,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -26562,7 +27105,7 @@ ], "env_var": "PANTS_PYUPGRADE_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -27391,7 +27934,7 @@ "details": "", "rank": "HARDCODED", "value": { - "user-agent": "pants/2.23.0.dev6" + "user-agent": "pants/2.24.0.dev0" } } ] @@ -27522,7 +28065,7 @@ ], "env_var": "PANTS_REMOTE_OAUTH_BEARER_TOKEN", "fromfile": false, - "help": "An oauth token to use for gGRPC connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address`.\n\nIf specified, Pants will add a header in the format `authorization: Bearer `. You can also manually add this header via `[GLOBAL].remote_execution_headers` and `[GLOBAL].remote_store_headers`, or use `[GLOBAL].remote_auth_plugin` to provide a plugin to dynamically set the relevant headers. Otherwise, no authorization will be performed.\n\nRecommendation: do not place a token directly in `pants.toml`, instead do one of: set the token via the environment variable (`PANTS_REMOTE_OAUTH_BEARER_TOKEN`), CLI option (`--remote-oauth-bearer-token`), or store the token in a file and set the option to `\"@/path/to/token.txt\"` to [read the value from that file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#reading-individual-option-values-from-files).", + "help": "An oauth token to use for gGRPC connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address`.\n\nIf specified, Pants will add a header in the format `authorization: Bearer `. You can also manually add this header via `[GLOBAL].remote_execution_headers` and `[GLOBAL].remote_store_headers`, or use `[GLOBAL].remote_auth_plugin` to provide a plugin to dynamically set the relevant headers. Otherwise, no authorization will be performed.\n\nRecommendation: do not place a token directly in `pants.toml`, instead do one of: set the token via the environment variable (`PANTS_REMOTE_OAUTH_BEARER_TOKEN`), CLI option (`--remote-oauth-bearer-token`), or store the token in a file and set the option to `\"@/path/to/token.txt\"` to [read the value from that file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#reading-individual-option-values-from-files).", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -27560,7 +28103,7 @@ ], "env_var": "PANTS_REMOTE_PROVIDER", "fromfile": false, - "help": "The type of provider to use, if using a remote cache and/or remote execution, See https://www.pantsbuild.org/2.23/docs/using-pants/remote-caching-and-execution for details.\n\nEach provider supports different `remote_store_address` and (optional) `remote_execution_address` URIs.\n\nSupported values:\n\n- `reapi`: a server using the Remote Execution API (https://github.com/bazelbuild/remote-apis) (supported schemes for URIs: `grpc://`, `grpcs://`)\n\n- `experimental-file`: a directory mapped on the current machine (supported schemes for URIs: `file://`)\n\n- `experimental-github-actions-cache`: the GitHub Actions caching service (supported schemes for URIs: `http://`, `https://`)", + "help": "The type of provider to use, if using a remote cache and/or remote execution, See https://www.pantsbuild.org/2.24/docs/using-pants/remote-caching-and-execution for details.\n\nEach provider supports different `remote_store_address` and (optional) `remote_execution_address` URIs.\n\nSupported values:\n\n- `reapi`: a server using the Remote Execution API (https://github.com/bazelbuild/remote-apis) (supported schemes for URIs: `grpc://`, `grpcs://`)\n\n- `experimental-file`: a directory mapped on the current machine (supported schemes for URIs: `file://`)\n\n- `experimental-github-actions-cache`: the GitHub Actions caching service (supported schemes for URIs: `http://`, `https://`)", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -27733,7 +28276,7 @@ "details": "", "rank": "HARDCODED", "value": { - "user-agent": "pants/2.23.0.dev6" + "user-agent": "pants/2.24.0.dev0" } } ] @@ -28244,7 +28787,7 @@ ], "env_var": "PANTS_RUFF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `ruff` version 0.4.9.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `ruff` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `ruff` version 0.6.4.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `ruff` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -28271,7 +28814,7 @@ "comma_separated_display_args": "--ruff-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -28302,7 +28845,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -28321,7 +28864,7 @@ ], "env_var": "PANTS_RUFF_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -28877,7 +29420,7 @@ ], "env_var": "PANTS_SCALAFIX_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/scala/lint/scalafix/scalafix.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalafix`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/scala/lint/scalafix/scalafix.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalafix`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -29240,7 +29783,7 @@ ], "env_var": "PANTS_SCALAFMT_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/scala/lint/scalafmt/scalafmt.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalafmt`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/scala/lint/scalafmt/scalafmt.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalafmt`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -29523,7 +30066,7 @@ ], "env_var": "PANTS_SCALAPB_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/codegen/protobuf/scala/scalapbc.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalapb`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/codegen/protobuf/scala/scalapbc.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalapb`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -29723,7 +30266,7 @@ ], "env_var": "PANTS_SCALATEST_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/scala/subsystems/scalatest.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalatest`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/scala/subsystems/scalatest.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalatest`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -30092,7 +30635,7 @@ ], "env_var": "PANTS_SCALA_PARSER_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/scala/dependency_inference/scala_parser.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scala-parser`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/scala/dependency_inference/scala_parser.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scala-parser`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -30383,7 +30926,7 @@ ], "env_var": "PANTS_SCC_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -30585,7 +31128,7 @@ ], "env_var": "PANTS_SCROOGE_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/codegen/thrift/scrooge/scrooge.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scrooge`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/codegen/thrift/scrooge/scrooge.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scrooge`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -30854,7 +31397,7 @@ ], "env_var": "PANTS_SEMGREP_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `semgrep` version 1.72.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `semgrep` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `semgrep` version 1.86.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `semgrep` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -30931,7 +31474,7 @@ ], "env_var": "PANTS_SEMGREP_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -31050,7 +31593,7 @@ ], "env_var": "PANTS_SETUPTOOLS_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `setuptools` version 63.4.3.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `setuptools` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `setuptools` version 74.1.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `setuptools` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -31084,7 +31627,7 @@ ], "env_var": "PANTS_SETUPTOOLS_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -31196,7 +31739,7 @@ ], "env_var": "PANTS_SETUPTOOLS_SCM_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `setuptools-scm` version 7.1.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `setuptools-scm` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `setuptools-scm` version 7.1.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `setuptools-scm` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -31223,7 +31766,7 @@ "comma_separated_display_args": "--setuptools-scm-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -31254,7 +31797,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -31273,7 +31816,7 @@ ], "env_var": "PANTS_SETUPTOOLS_SCM_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -31615,7 +32158,7 @@ ], "env_var": "PANTS_SHELLCHECK_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -32218,7 +32761,7 @@ ], "env_var": "PANTS_SHFMT_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -32503,7 +33046,7 @@ ], "env_var": "PANTS_SHUNIT2_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -32672,7 +33215,7 @@ ], "env_var": "PANTS_SOURCE_ROOT_PATTERNS", "fromfile": false, - "help": "A list of source root suffixes.\n\nA directory with this suffix will be considered a potential source root. E.g., `src/python` will match `/src/python`, `/project1/src/python` etc.\n\nPrepend a `/` to anchor the match at the buildroot. E.g., `/src/python` will match `/src/python` but not `/project1/src/python`.\n\nA `*` wildcard will match a single path segment, E.g., `src/*` will match `/src/python` and `/src/rust`.\n\nUse `/` to signify that the buildroot itself is a source root.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/source-roots.", + "help": "A list of source root suffixes.\n\nA directory with this suffix will be considered a potential source root. E.g., `src/python` will match `/src/python`, `/project1/src/python` etc.\n\nPrepend a `/` to anchor the match at the buildroot. E.g., `/src/python` will match `/src/python` but not `/project1/src/python`.\n\nA `*` wildcard will match a single path segment, E.g., `src/*` will match `/src/python` and `/src/rust`.\n\nUse `/` to signify that the buildroot itself is a source root.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/source-roots.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -33139,7 +33682,7 @@ ], "env_var": "PANTS_SQLFLUFF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `sqlfluff` version 2.3.5.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `sqlfluff` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `sqlfluff` version 2.3.5.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `sqlfluff` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -33166,7 +33709,7 @@ "comma_separated_display_args": "--sqlfluff-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -33197,7 +33740,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -33216,7 +33759,7 @@ ], "env_var": "PANTS_SQLFLUFF_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -33704,7 +34247,7 @@ ], "env_var": "PANTS_STRIP_JAR_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/jvm/strip_jar/strip_jar.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=strip-jar`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/jvm/strip_jar/strip_jar.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=strip-jar`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -33827,7 +34370,7 @@ ], "env_var": "PANTS_SUBPROCESS_ENVIRONMENT_ENV_VARS", "fromfile": false, - "help": "Environment variables to set for process invocations.\n\nEntries are either strings in the form `ENV_VAR=value` to set an explicit value; or just `ENV_VAR` to copy the value from Pants's own environment.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#addremove-semantics for how to add and remove Pants's default for this option.", + "help": "Environment variables to set for process invocations.\n\nEntries are either strings in the form `ENV_VAR=value` to set an explicit value; or just `ENV_VAR` to copy the value from Pants's own environment.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#addremove-semantics for how to add and remove Pants's default for this option.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -33960,7 +34503,7 @@ ], "env_var": "PANTS_TAG", "fromfile": false, - "help": "Include only targets with these tags (optional '+' prefix) or without these tags ('-' prefix). See https://www.pantsbuild.org/2.23/docs/using-pants/advanced-target-selection.", + "help": "Include only targets with these tags (optional '+' prefix) or without these tags ('-' prefix). See https://www.pantsbuild.org/2.24/docs/using-pants/advanced-target-selection.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -33999,7 +34542,7 @@ ], "env_var": "PANTS_TAILOR_ALIAS_MAPPING", "fromfile": false, - "help": "A mapping from standard target type to custom type to use instead. The custom type can be a custom target type or a macro that offers compatible functionality to the one it replaces (see https://www.pantsbuild.org/2.23/docs/writing-plugins/macros).", + "help": "A mapping from standard target type to custom type to use instead. The custom type can be a custom target type or a macro that offers compatible functionality to the one it replaces (see https://www.pantsbuild.org/2.24/docs/writing-plugins/macros).", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -34535,7 +35078,7 @@ ], "env_var": "PANTS_TAPLO_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -34696,7 +35239,7 @@ ], "env_var": "PANTS_TERRAFORM_HCL2_PARSER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `python-hcl2` version 4.3.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `terraform-hcl2-parser` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `python-hcl2` version 4.3.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `terraform-hcl2-parser` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -34723,7 +35266,7 @@ "comma_separated_display_args": "--terraform-hcl2-parser-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -34754,7 +35297,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -34773,7 +35316,7 @@ ], "env_var": "PANTS_TERRAFORM_HCL2_PARSER_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -36308,7 +36851,7 @@ ], "env_var": "PANTS_TWINE_CA_CERTS_PATH", "fromfile": false, - "help": "Path to a file containing PEM-format CA certificates used for verifying secure connections when publishing python distributions.\n\nUses the value from `[GLOBAL].ca_certs_path` by default. Set to `\"\"` to not use any certificates.\n\nEven when using the `docker_environment` and `remote_environment` targets, this path will be read from the local host, and those certs will be used in the environment.\n\nThis option cannot be overridden via environment targets, so if you need a different value than what the rest of your organization is using, override the value via an environment variable, CLI argument, or `.pants.rc` file. See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options.", + "help": "Path to a file containing PEM-format CA certificates used for verifying secure connections when publishing python distributions.\n\nUses the value from `[GLOBAL].ca_certs_path` by default. Set to `\"\"` to not use any certificates.\n\nEven when using the `docker_environment` and `remote_environment` targets, this path will be read from the local host, and those certs will be used in the environment.\n\nThis option cannot be overridden via environment targets, so if you need a different value than what the rest of your organization is using, override the value via an environment variable, CLI argument, or `.pants.rc` file. See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -36495,7 +37038,7 @@ ], "env_var": "PANTS_TWINE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `twine` version 4.0.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `twine` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `twine` version 4.0.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `twine` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -36522,7 +37065,7 @@ "comma_separated_display_args": "--twine-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -36553,7 +37096,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -36572,7 +37115,7 @@ ], "env_var": "PANTS_TWINE_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -36852,9 +37395,10 @@ "choices": [ "yapf", "black", - "ruff" + "ruff", + "buildifier" ], - "comma_separated_choices": "yapf, black, ruff", + "comma_separated_choices": "yapf, black, ruff, buildifier", "comma_separated_display_args": "--update-build-files-formatter=", "config_key": "formatter", "default": "black", @@ -36945,7 +37489,7 @@ ], "env_var": "PANTS_VERSION", "fromfile": false, - "help": "Use this Pants version. Note that Pants only uses this to verify that you are using the requested version, as Pants cannot dynamically change the version it is using once the program is already running.\n\nIf you use the `pants` script from https://www.pantsbuild.org/2.23/docs/getting-started/installing-pants, however, changing the value in your `pants.toml` will cause the new version to be installed and run automatically.\n\nRun `pants --version` to check what is being used.", + "help": "Use this Pants version. Note that Pants only uses this to verify that you are using the requested version, as Pants cannot dynamically change the version it is using once the program is already running.\n\nIf you use the `pants` script from https://www.pantsbuild.org/2.24/docs/getting-started/installing-pants, however, changing the value in your `pants.toml` will cause the new version to be installed and run automatically.\n\nRun `pants --version` to check what is being used.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -36966,12 +37510,12 @@ { "details": null, "rank": "HARDCODED", - "value": "2.23.0.dev6" + "value": "2.24.0.dev0" }, { "details": "from env var PANTS_VERSION", "rank": "ENVIRONMENT", - "value": "2.23.0.dev6" + "value": "2.24.0.dev0" } ] } @@ -37466,7 +38010,7 @@ ], "env_var": "PANTS_YAMLLINT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yamllint` version 1.32.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `yamllint` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yamllint` version 1.35.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `yamllint` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -37493,7 +38037,7 @@ "comma_separated_display_args": "--yamllint-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -37524,7 +38068,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -37586,7 +38130,7 @@ ], "env_var": "PANTS_YAMLLINT_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -37853,7 +38397,7 @@ ], "env_var": "PANTS_YAPF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yapf` version 0.40.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `yapf` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yapf` version 0.40.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `yapf` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -37880,7 +38424,7 @@ "comma_separated_display_args": "--yapf-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -37911,7 +38455,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -37930,7 +38474,7 @@ ], "env_var": "PANTS_YAPF_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -38042,11 +38586,11 @@ }, "builtins.AddPrefix": { "consumed_by_rules": [ - "pants.engine.intrinsics.add_prefix_request_to_digest" + "pants.engine.intrinsics.add_prefix" ], "dependencies": [], "dependents": [ - "pants.backend.docker.lint.hadolint" + "pants.backend.python.lint.yapf" ], "documentation": "", "is_union": false, @@ -38089,6 +38633,7 @@ "pants.backend.javascript.package.rules.generate_resources_from_node_build_script", "pants.backend.javascript.package.rules.pack_node_package_into_tgz_for_publication", "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", + "pants.backend.nfpm.rules.package_nfpm_package", "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi", "pants.backend.openapi.util_rules.openapi_bundle.bundle_openapi_document", "pants.backend.python.framework.django.detect_apps.detect_django_apps", @@ -38107,7 +38652,6 @@ "pants.backend.scala.bsp.rules.scala_bsp_dependency_modules", "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies", "pants.backend.scala.goals.repl.create_scala_repl_request", - "pants.backend.scala.lint.scalafix.rules.scalafix_fix", "pants.core.goals.export.export", "pants.core.target_types.relocate_files", "pants.jvm.package.deploy_jar.package_deploy_jar", @@ -38157,20 +38701,22 @@ "consumed_by_rules": [ "pants.core.util_rules.archive.convert_digest_to_MaybeExtractArchiveRequest", "pants.engine.intrinsics.digest_to_snapshot", - "pants.engine.intrinsics.directory_digest_to_digest_contents", - "pants.engine.intrinsics.directory_digest_to_digest_entries" + "pants.engine.intrinsics.get_digest_contents", + "pants.engine.intrinsics.get_digest_entries" ], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", + "pants.backend.docker.lint.hadolint", "pants.backend.experimental.go", "pants.backend.experimental.java", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.openapi", "pants.backend.experimental.scala", "pants.backend.experimental.scala.debug_goals", + "pants.backend.experimental.tools.trufflehog", "pants.backend.go.goals.generate", "pants.backend.helm.util_rules.chart_metadata", "pants.backend.openapi.util_rules.openapi_bundle", + "pants.backend.python.lint.autoflake", "pants.backend.python.lint.isort", "pants.core", "pants.engine.fs", @@ -38179,7 +38725,6 @@ ], "dependents": [ "pants.backend.awslambda.python", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.black", "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", @@ -38190,6 +38735,7 @@ "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.bsp", + "pants.backend.experimental.cc", "pants.backend.experimental.cc.lint.clangformat", "pants.backend.experimental.codegen.avro.java", "pants.backend.experimental.codegen.protobuf.go", @@ -38214,6 +38760,7 @@ "pants.backend.experimental.kotlin", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.spectral", "pants.backend.experimental.python", @@ -38263,16 +38810,17 @@ "provider": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "returned_by_rules": [ @@ -38284,11 +38832,12 @@ "pants.backend.url_handlers.s3.register.download_file_from_virtual_hosted_s3_authority", "pants.backend.url_handlers.s3.register.download_from_s3", "pants.core.util_rules.archive.create_archive", - "pants.engine.intrinsics.add_prefix_request_to_digest", - "pants.engine.intrinsics.create_digest_to_digest", - "pants.engine.intrinsics.merge_digests_request_to_digest", + "pants.engine.intrinsics.add_prefix", + "pants.engine.intrinsics.create_digest", + "pants.engine.intrinsics.digest_subset_to_digest", + "pants.engine.intrinsics.merge_digests", "pants.engine.intrinsics.path_globs_to_digest", - "pants.engine.intrinsics.remove_prefix_request_to_digest", + "pants.engine.intrinsics.remove_prefix", "pants.jvm.jar_tool.jar_tool.run_jar_tool", "pants.jvm.strip_jar.strip_jar.strip_jar" ], @@ -38298,7 +38847,7 @@ "pants.backend.adhoc.adhoc_tool.run_in_sandbox_request", "pants.backend.adhoc.code_quality_tool.process_files", "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt", + "pants.backend.build_files.fmt.buildifier.rules.buildifier_fmt", "pants.backend.build_files.fmt.ruff.register.ruff_fmt", "pants.backend.build_files.fmt.yapf.register.yapf_fmt", "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", @@ -38419,6 +38968,9 @@ "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", "pants.backend.makeself.goals.package.package_makeself_binary", "pants.backend.makeself.subsystem.extract_makeself_distribution", + "pants.backend.nfpm.rules.package_nfpm_package", + "pants.backend.nfpm.util_rules.generate_config.generate_nfpm_yaml", + "pants.backend.nfpm.util_rules.sandbox.populate_nfpm_content_sandbox", "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java", "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi", "pants.backend.openapi.codegen.java.rules.infer_openapi_java_dependencies", @@ -38550,6 +39102,7 @@ "pants.core.goals.tailor.edit_build_files", "pants.core.goals.test.run_tests", "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_buildifier", "pants.core.goals.update_build_files.format_build_file_with_ruff", "pants.core.goals.update_build_files.format_build_file_with_yapf", "pants.core.goals.update_build_files.update_build_files", @@ -38606,16 +39159,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.jvm.util_rules" ], @@ -38642,11 +39196,11 @@ }, "builtins.MergeDigests": { "consumed_by_rules": [ - "pants.engine.intrinsics.merge_digests_request_to_digest" + "pants.engine.intrinsics.merge_digests" ], "dependencies": [], "dependents": [ - "pants.backend.experimental.tools.trufflehog" + "pants.backend.experimental.nfpm" ], "documentation": "", "is_union": false, @@ -38778,9 +39332,7 @@ "pants.backend.scala.compile.scalac_plugins.fetch_plugins", "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", "pants.backend.scala.goals.repl.create_scala_repl_request", - "pants.backend.scala.lint.scalafix.rules._run_scalafix_process", "pants.backend.scala.lint.scalafix.rules.scalafix_fix", - "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt", "pants.backend.scala.test.scalatest.setup_scalatest_for_target", "pants.backend.shell.dependency_inference.parse_shell_imports", "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", @@ -38862,7 +39414,7 @@ }, "builtins.ProcessExecutionEnvironment": { "consumed_by_rules": [ - "pants.engine.intrinsics.process_request_to_process_result" + "pants.engine.intrinsics.execute_process" ], "dependencies": [ "pants.backend.experimental.javascript", @@ -38888,7 +39440,7 @@ }, "builtins.RemovePrefix": { "consumed_by_rules": [ - "pants.engine.intrinsics.remove_prefix_request_to_digest" + "pants.engine.intrinsics.remove_prefix" ], "dependencies": [], "dependents": [ @@ -38960,15 +39512,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -39006,6 +39560,7 @@ "pants.backend.experimental.kotlin", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.openapi_format", "pants.backend.experimental.python", @@ -39058,7 +39613,7 @@ "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix", "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix", "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt", + "pants.backend.build_files.fmt.buildifier.rules.buildifier_fmt", "pants.backend.build_files.fmt.ruff.register.ruff_fmt", "pants.backend.build_files.fmt.yapf.register.yapf_fmt", "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", @@ -39105,6 +39660,7 @@ "pants.backend.javascript.package_json.read_package_jsons", "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", "pants.backend.makeself.goals.package.package_makeself_binary", + "pants.backend.nfpm.rules.package_nfpm_package", "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi", "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", "pants.backend.openapi.util_rules.openapi_bundle.generate_openapi_bundle_sources", @@ -39158,6 +39714,7 @@ "pants.core.goals.generate_snapshots.generate_snapshots", "pants.core.goals.lint.lint", "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_buildifier", "pants.core.goals.update_build_files.format_build_file_with_ruff", "pants.core.goals.update_build_files.format_build_file_with_yapf", "pants.core.target_types.hydrate_file_source", @@ -39165,6 +39722,7 @@ "pants.core.target_types.package_archive_target", "pants.core.target_types.relocate_files", "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", + "pants.core.util_rules.adhoc_process_support.run_adhoc_process", "pants.core.util_rules.archive.maybe_extract_archive", "pants.core.util_rules.config_files.find_config_file", "pants.core.util_rules.config_files.gather_config_files_by_workspace_dir", @@ -39243,7 +39801,7 @@ "dependents": [ "pants.backend.experimental.adhoc" ], - "documentation": "SystemBinaryFieldSet(address: 'Address', name: 'SystemBinaryNameField', extra_search_paths: 'SystemBinaryExtraSearchPathsField', fingerprint_pattern: 'SystemBinaryFingerprintPattern', fingerprint_argv: 'SystemBinaryFingerprintArgsField', fingerprint_dependencies: 'SystemBinaryFingerprintDependenciesField')", + "documentation": "SystemBinaryFieldSet(address: 'Address', name: 'SystemBinaryNameField', extra_search_paths: 'SystemBinaryExtraSearchPathsField', fingerprint_pattern: 'SystemBinaryFingerprintPattern', fingerprint_argv: 'SystemBinaryFingerprintArgsField', fingerprint_dependencies: 'SystemBinaryFingerprintDependenciesField', log_fingerprinting_errors: 'SystemBinaryLogFingerprintingErrorsField')", "is_union": false, "module": "pants.backend.adhoc.run_system_binary", "name": "SystemBinaryFieldSet", @@ -39518,14 +40076,16 @@ }, "pants.backend.build_files.fmt.buildifier.subsystem.Buildifier": { "consumed_by_rules": [ - "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt", - "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BuildifierRequest" + "pants.backend.build_files.fmt.buildifier.rules.buildifier_fmt", + "pants.backend.build_files.utils._get_build_file_partitioner_rules.partition_build_files_BuildifierRequest", + "pants.core.goals.update_build_files.format_build_file_with_buildifier" ], "dependencies": [ "pants.option.scope" ], "dependents": [ - "pants.backend.build_files.fmt.buildifier" + "pants.backend.build_files.fmt.buildifier", + "pants.core" ], "documentation": null, "is_union": false, @@ -39893,10 +40453,8 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.codegen.avro.java.rules", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -39905,9 +40463,11 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -40045,7 +40605,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -40053,9 +40612,11 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.fs", "pants.engine.target", @@ -40191,18 +40752,19 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -40369,7 +40931,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -40378,9 +40939,11 @@ "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -41036,16 +41599,17 @@ "builtins", "pants.backend.build_files.fmt.ruff", "pants.backend.codegen.protobuf.scala.rules", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -41073,9 +41637,7 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -41084,10 +41646,12 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -41481,8 +42045,8 @@ "pants.backend.codegen.thrift.apache.rules.generate_apache_thrift_sources" ], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.core" ], @@ -41530,7 +42094,6 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.codegen.thrift.apache.rules", "pants.backend.docker.lint.hadolint", @@ -41540,10 +42103,14 @@ "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core" ], @@ -41825,7 +42392,6 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.codegen.thrift.scrooge.rules", "pants.backend.docker.lint.hadolint", @@ -41840,9 +42406,12 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core" ], @@ -42108,8 +42677,8 @@ "pants.backend.codegen.thrift.thrift_parser.ParsedThrift": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", "pants.backend.codegen.thrift.thrift_parser", + "pants.backend.experimental.cc", "pants.backend.experimental.javascript" ], "dependents": [ @@ -42477,9 +43046,9 @@ "pants.backend.docker.subsystems.dockerfile_parser.DockerfileInfo": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", "pants.backend.docker", "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript" ], "dependents": [ @@ -42588,10 +43157,12 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.url_handlers.s3" ], @@ -42763,14 +43334,15 @@ "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.golangci_lint", - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java", "pants.backend.experimental.java.bsp", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.python.packaging.pyoxidizer", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.google_cloud_function.python", "pants.backend.python", "pants.core", @@ -42992,8 +43564,8 @@ "pants.backend.go.dependency_inference.GoModuleImportPathsMappings": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", "pants.backend.codegen.protobuf.python", + "pants.backend.experimental.cc", "pants.backend.experimental.go.debug_goals", "pants.backend.experimental.javascript" ], @@ -43047,7 +43619,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.debug_goals", "pants.backend.experimental.go.lint.vet", @@ -43055,11 +43626,13 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.go.go_sources.load_go_binary", "pants.backend.go.util_rules.build_pkg", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -43228,7 +43801,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.codegen.protobuf.go", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", @@ -43237,10 +43809,12 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.go.goals.debug_goals", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -43355,16 +43929,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.fs" ], @@ -43481,22 +44056,23 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.debug_goals", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.go.goals.generate", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -43618,9 +44194,7 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.codegen.protobuf.go", "pants.backend.experimental.debian", "pants.backend.experimental.go", @@ -43629,11 +44203,14 @@ "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.go.goals.test", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -44176,7 +44753,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", @@ -44184,12 +44760,13 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.assembly", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.process" ], @@ -44470,19 +45047,20 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.build_pkg", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -44510,11 +45088,11 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", "pants.backend.codegen.protobuf.go.rules", "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", + "pants.backend.experimental.cc", "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.debian", "pants.backend.experimental.go", @@ -44525,13 +45103,15 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.build_pkg", "pants.backend.go.util_rules.build_pkg_target", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core", "pants.engine.process", @@ -44572,9 +45152,7 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.codegen.protobuf.go", "pants.backend.experimental.debian", @@ -44584,13 +45162,15 @@ "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.build_pkg", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.process" ], @@ -44688,17 +45268,18 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.build_pkg", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -44726,18 +45307,19 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -44858,7 +45440,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", @@ -44867,12 +45448,13 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.build_pkg_target", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.process" ], @@ -44922,11 +45504,9 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.debug_goals", @@ -44934,15 +45514,17 @@ "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.cgo", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.process" ], @@ -44971,16 +45553,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -45029,7 +45612,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.debian", "pants.backend.experimental.go.debug_goals", @@ -45038,12 +45620,13 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.cgo", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.process" ], @@ -45162,7 +45745,7 @@ "pants.backend.go.util_rules.cgo_pkgconfig.CGoPkgConfigFlagsResult": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.rust", "pants.backend.go.util_rules.cgo_pkgconfig" ], @@ -45212,17 +45795,18 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.coverage", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -45269,8 +45853,8 @@ "pants.backend.go.util_rules.coverage.ApplyCodeCoverageToFileResult": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", "pants.backend.experimental.go.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.go.util_rules.coverage" ], "dependents": [ @@ -45319,17 +45903,18 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.coverage", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -45376,7 +45961,7 @@ "pants.backend.go.util_rules.coverage_html.RenderGoCoverageProfileToHtmlResult": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", + "pants.backend.experimental.cc", "pants.backend.go.util_rules.coverage_html" ], "dependents": [ @@ -45445,7 +46030,7 @@ "pants.backend.go.util_rules.coverage_output.RenderGoCoverageReportResult": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", + "pants.backend.experimental.cc", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.tools.trufflehog", @@ -45476,7 +46061,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.codegen.protobuf.go", "pants.backend.experimental.debian", @@ -45488,12 +46072,13 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.first_party_pkg", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.process" ], @@ -45530,7 +46115,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.debian", "pants.backend.experimental.go", @@ -45540,12 +46124,13 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.first_party_pkg", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core", "pants.engine.process" @@ -45679,7 +46264,8 @@ }, "pants.backend.go.util_rules.go_bootstrap.GoBootstrap": { "consumed_by_rules": [ - "pants.backend.go.util_rules.goroot.setup_goroot" + "pants.backend.go.util_rules.goroot.setup_goroot", + "pants.backend.go.util_rules.sdk.setup_go_sdk_process" ], "dependencies": [ "pants.backend.build_files.fmt.ruff", @@ -45730,7 +46316,7 @@ "pants.backend.go.util_rules.go_mod.GoModInfo": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.go.util_rules.go_mod" ], @@ -45943,9 +46529,9 @@ "pants.backend.go.util_rules.sdk.setup_go_sdk_process" ], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.java.lint.google_java_format", "pants.core" ], "dependents": [ @@ -45993,7 +46579,7 @@ "pants.backend.go.util_rules.import_analysis.GoStdLibPackages": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.go.util_rules.import_analysis" ], "dependents": [ @@ -46054,17 +46640,18 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.import_config", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -46139,9 +46726,7 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.codegen.protobuf.go", "pants.backend.experimental.debian", "pants.backend.experimental.go.debug_goals", @@ -46149,11 +46734,14 @@ "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.link", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.unions" ], @@ -46186,17 +46774,18 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -46221,7 +46810,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.debug_goals", "pants.backend.experimental.go.lint.vet", @@ -46229,9 +46817,11 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -46347,16 +46937,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.debug_goals", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -46406,7 +46997,7 @@ "pants.backend.go.util_rules.sdk.GoSdkToolIDResult": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.go.util_rules.sdk" ], "dependents": [ @@ -46462,7 +47053,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", @@ -46471,12 +47061,13 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.tests_analysis", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.process" ], @@ -46504,7 +47095,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.go.lint.vet", @@ -46512,10 +47102,12 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.third_party_pkg", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -46608,8 +47200,8 @@ "pants.backend.go.util_rules.third_party_pkg.AnalyzedThirdPartyModule": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.buildifier", + "pants.backend.experimental.cc", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.tools.trufflehog", "pants.backend.go.util_rules.third_party_pkg" ], @@ -46637,7 +47229,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", @@ -46646,12 +47237,13 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.third_party_pkg", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.process" ], @@ -46677,7 +47269,7 @@ "pants.backend.go.util_rules.third_party_pkg.ModuleDescriptors": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.go.util_rules.third_party_pkg" ], "dependents": [ @@ -47255,7 +47847,8 @@ }, "pants.backend.helm.dependency_inference.subsystem.HelmInferSubsystem": { "consumed_by_rules": [ - "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping" + "pants.backend.helm.dependency_inference.deployment.first_party_helm_deployment_mapping", + "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies" ], "dependencies": [ "pants.option.scope" @@ -47523,18 +48116,20 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.helm.resolve.fetch", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -47639,19 +48234,19 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.helm.subsystems.k8s_parser", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.process" ], @@ -47681,18 +48276,19 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python", "pants.backend.python.lint.pylint", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.url_handlers.s3" ], @@ -47734,15 +48330,17 @@ "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", "pants.backend.experimental.scala.debug_goals", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python", "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv.custom_install", "pants.backend.python.typecheck.mypy", "pants.backend.shell", @@ -47830,16 +48428,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.url_handlers.s3" ], @@ -48067,7 +48666,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.golangci_lint", @@ -48076,10 +48674,12 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.helm.test.unittest", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core" ], @@ -48153,7 +48753,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.go.lint.vet", @@ -48161,11 +48760,14 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.helm.util_rules.chart", "pants.backend.helm.util_rules.chart_metadata", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -48229,19 +48831,20 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.helm.target_types", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -48365,19 +48968,21 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.helm.util_rules.renderer", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -48411,17 +49016,19 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.helm.util_rules.renderer", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core" ], @@ -48499,17 +49106,19 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.helm.util_rules.sources", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core" ], @@ -48608,7 +49217,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -48616,9 +49224,12 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -48642,17 +49253,19 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -48926,7 +49539,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", @@ -48935,12 +49547,13 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.java.dependency_inference.java_parser", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.process" ], @@ -48994,9 +49607,7 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -49004,9 +49615,11 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -49181,8 +49794,8 @@ "pants.backend.java.dependency_inference.types.JavaSourceDependencyAnalysis": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.buildifier" + "pants.backend.experimental.cc", + "pants.backend.experimental.java.lint.google_java_format" ], "dependents": [ "pants.backend.experimental.java.debug_goals" @@ -49508,7 +50121,8 @@ "pants.backend.javascript.dependency_inference.rules" ], "dependents": [ - "pants.backend.experimental.javascript.lint.prettier" + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.typescript" ], "documentation": null, "is_union": false, @@ -49523,7 +50137,8 @@ "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies" + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies" ] }, "pants.backend.javascript.goals.export.ExportNodeModulesRequest": { @@ -49553,7 +50168,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -49561,10 +50175,12 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.javascript.goals.export", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.unions" ], @@ -49781,20 +50397,21 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.javascript.install_node_package", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core", "pants.engine.unions" @@ -49856,7 +50473,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.vet", @@ -49864,10 +50480,12 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.javascript.install_node_package", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core" ], @@ -50126,7 +50744,7 @@ "pants.backend.javascript.package.rules.NodeBuildScriptResult": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.javascript.package.rules" ], @@ -50279,7 +50897,8 @@ ], "dependents": [ "pants.backend.experimental.javascript", - "pants.backend.experimental.javascript.lint.prettier" + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.typescript" ], "documentation": "OwningNodePackage(target: 'Target | None' = None, third_party: 'tuple[Target, ...]' = ())", "is_union": false, @@ -50298,7 +50917,8 @@ "pants.backend.javascript.dependency_inference.rules.map_candidate_node_packages", "pants.backend.javascript.goals.test.partition_nodejs_tests", "pants.backend.javascript.nodejs_project_environment.get_nodejs_environment", - "pants.backend.javascript.resolve.resolve_for_package" + "pants.backend.javascript.resolve.resolve_for_package", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies" ] }, "pants.backend.javascript.package_json.OwningNodePackageRequest": { @@ -50383,7 +51003,7 @@ "pants.backend.javascript.package_json.PackageJsonForGlobs": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", + "pants.backend.experimental.cc", "pants.backend.experimental.tools.trufflehog", "pants.engine.fs" ], @@ -50414,7 +51034,8 @@ "pants.backend.javascript.package_json" ], "dependents": [ - "pants.backend.experimental.javascript.lint.prettier" + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.typescript" ], "documentation": "https://nodejs.org/api/packages.html#subpath-imports.", "is_union": false, @@ -50429,7 +51050,8 @@ "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies" + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies" ] }, "pants.backend.javascript.package_json.PackageJsonSourceField": { @@ -50465,9 +51087,8 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -50475,9 +51096,12 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -50622,7 +51246,7 @@ "pants.backend.javascript.subsystems.nodejs.CorepackToolDigest": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.openapi.codegen.java", "pants.backend.javascript.subsystems.nodejs" ], @@ -50785,19 +51409,20 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -50894,13 +51519,15 @@ "pants.backend.javascript.subsystems.nodejs_infer.NodeJSInfer": { "consumed_by_rules": [ "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", - "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies" + "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies" ], "dependencies": [ "pants.option.scope" ], "dependents": [ - "pants.backend.experimental.javascript.lint.prettier" + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.typescript" ], "documentation": null, "is_union": false, @@ -51068,7 +51695,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", @@ -51077,12 +51703,14 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.bsp", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.kotlin.compile.kotlinc_plugins", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.target" ], @@ -51161,7 +51789,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", @@ -51172,11 +51799,12 @@ "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.kotlin", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core", "pants.engine.process" @@ -51230,9 +51858,7 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -51242,9 +51868,11 @@ "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.kotlin", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -51267,8 +51895,8 @@ "pants.backend.kotlin.dependency_inference.kotlin_parser.KotlinSourceDependencyAnalysis": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.buildifier" + "pants.backend.experimental.cc", + "pants.backend.experimental.java.lint.google_java_format" ], "dependents": [ "pants.backend.experimental.kotlin.debug_goals", @@ -51855,17 +52483,18 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -51930,6 +52559,396 @@ "pants.backend.makeself.goals.run.run_makeself_archive" ] }, + "pants.backend.nfpm.dependency_inference.InferNfpmPackageScriptsDependencies": { + "consumed_by_rules": [ + "pants.backend.nfpm.dependency_inference.infer_nfpm_package_scripts_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.nfpm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.nfpm.dependency_inference", + "name": "InferNfpmPackageScriptsDependencies", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, + "pants.backend.nfpm.field_sets.NfpmApkPackageFieldSet": { + "consumed_by_rules": [ + "pants.backend.nfpm.rules.package_nfpm_apk_package" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.nfpm" + ], + "documentation": "NfpmApkPackageFieldSet(address: 'Address', output_path: 'NfpmOutputPathField', package_name: 'NfpmPackageNameField', mtime: 'NfpmPackageMtimeField', description: 'DescriptionField', scripts: 'NfpmPackageScriptsField')", + "is_union": false, + "module": "pants.backend.nfpm.field_sets", + "name": "NfpmApkPackageFieldSet", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "PackageFieldSet", + "used_in_rules": [] + }, + "pants.backend.nfpm.field_sets.NfpmArchlinuxPackageFieldSet": { + "consumed_by_rules": [ + "pants.backend.nfpm.rules.package_nfpm_archlinux_package" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.nfpm" + ], + "documentation": "NfpmArchlinuxPackageFieldSet(address: 'Address', output_path: 'NfpmOutputPathField', package_name: 'NfpmPackageNameField', mtime: 'NfpmPackageMtimeField', description: 'DescriptionField', scripts: 'NfpmPackageScriptsField')", + "is_union": false, + "module": "pants.backend.nfpm.field_sets", + "name": "NfpmArchlinuxPackageFieldSet", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "PackageFieldSet", + "used_in_rules": [] + }, + "pants.backend.nfpm.field_sets.NfpmContentDirFieldSet": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.nfpm.field_sets" + ], + "dependents": [], + "documentation": "NfpmContentDirFieldSet(address: 'Address', owner: 'NfpmContentFileOwnerField', group: 'NfpmContentFileGroupField', mode: 'NfpmContentFileModeField', mtime: 'NfpmContentFileMtimeField', dst: 'NfpmContentDirDstField')", + "is_union": false, + "module": "pants.backend.nfpm.field_sets", + "name": "NfpmContentDirFieldSet", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "NfpmContentFieldSet", + "used_in_rules": [] + }, + "pants.backend.nfpm.field_sets.NfpmContentFieldSet": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [ + "pants.backend.experimental.nfpm" + ], + "documentation": "NfpmContentFieldSet(address: 'Address', owner: 'NfpmContentFileOwnerField', group: 'NfpmContentFileGroupField', mode: 'NfpmContentFileModeField', mtime: 'NfpmContentFileMtimeField')", + "is_union": true, + "module": "pants.backend.nfpm.field_sets", + "name": "NfpmContentFieldSet", + "provider": [ + "pants.backend.nfpm.field_sets" + ], + "returned_by_rules": [], + "union_members": [ + "NfpmContentDirFieldSet", + "NfpmContentFileFieldSet", + "NfpmContentSymlinkFieldSet" + ], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.nfpm.field_sets.NfpmContentFileFieldSet": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.nfpm.field_sets" + ], + "dependents": [], + "documentation": "NfpmContentFileFieldSet(address: 'Address', owner: 'NfpmContentFileOwnerField', group: 'NfpmContentFileGroupField', mode: 'NfpmContentFileModeField', mtime: 'NfpmContentFileMtimeField', source: 'NfpmContentFileSourceField', src: 'NfpmContentSrcField', dst: 'NfpmContentDstField', content_type: 'NfpmContentTypeField')", + "is_union": false, + "module": "pants.backend.nfpm.field_sets", + "name": "NfpmContentFileFieldSet", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "NfpmContentFieldSet", + "used_in_rules": [] + }, + "pants.backend.nfpm.field_sets.NfpmContentSymlinkFieldSet": { + "consumed_by_rules": [], + "dependencies": [ + "pants.backend.nfpm.field_sets" + ], + "dependents": [], + "documentation": "NfpmContentSymlinkFieldSet(address: 'Address', owner: 'NfpmContentFileOwnerField', group: 'NfpmContentFileGroupField', mode: 'NfpmContentFileModeField', mtime: 'NfpmContentFileMtimeField', src: 'NfpmContentSymlinkSrcField', dst: 'NfpmContentSymlinkDstField')", + "is_union": false, + "module": "pants.backend.nfpm.field_sets", + "name": "NfpmContentSymlinkFieldSet", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "NfpmContentFieldSet", + "used_in_rules": [] + }, + "pants.backend.nfpm.field_sets.NfpmDebPackageFieldSet": { + "consumed_by_rules": [ + "pants.backend.nfpm.rules.package_nfpm_deb_package" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.nfpm" + ], + "documentation": "NfpmDebPackageFieldSet(address: 'Address', output_path: 'NfpmOutputPathField', package_name: 'NfpmPackageNameField', mtime: 'NfpmPackageMtimeField', description: 'DescriptionField', scripts: 'NfpmPackageScriptsField')", + "is_union": false, + "module": "pants.backend.nfpm.field_sets", + "name": "NfpmDebPackageFieldSet", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "PackageFieldSet", + "used_in_rules": [] + }, + "pants.backend.nfpm.field_sets.NfpmRpmPackageFieldSet": { + "consumed_by_rules": [ + "pants.backend.nfpm.rules.package_nfpm_rpm_package" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.nfpm" + ], + "documentation": "NfpmRpmPackageFieldSet(address: 'Address', output_path: 'NfpmOutputPathField', package_name: 'NfpmPackageNameField', mtime: 'NfpmPackageMtimeField', description: 'DescriptionField', scripts: 'NfpmPackageScriptsField', ghost_contents: 'NfpmRpmGhostContents')", + "is_union": false, + "module": "pants.backend.nfpm.field_sets", + "name": "NfpmRpmPackageFieldSet", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "PackageFieldSet", + "used_in_rules": [] + }, + "pants.backend.nfpm.subsystem.NfpmSubsystem": { + "consumed_by_rules": [ + "construct_env_aware_scope_nfpm", + "pants.backend.nfpm.rules.package_nfpm_package" + ], + "dependencies": [ + "pants.option.scope" + ], + "dependents": [ + "pants.backend.experimental.nfpm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.nfpm.subsystem", + "name": "NfpmSubsystem", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [ + "construct_scope_nfpm" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.nfpm.subsystem.NfpmSubsystem.EnvironmentAware": { + "consumed_by_rules": [ + "pants.backend.nfpm.util_rules.generate_config.generate_nfpm_yaml" + ], + "dependencies": [ + "pants.backend.experimental.javascript", + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.nfpm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.nfpm.subsystem", + "name": "NfpmSubsystem.EnvironmentAware", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [ + "construct_env_aware_scope_nfpm" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [] + }, + "pants.backend.nfpm.target_types_rules.GenerateTargetsFromNfpmContentDirsRequest": { + "consumed_by_rules": [ + "pants.backend.nfpm.target_types_rules.generate_targets_from_nfpm_content_dirs" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.nfpm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.nfpm.target_types_rules", + "name": "GenerateTargetsFromNfpmContentDirsRequest", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.nfpm.target_types_rules.GenerateTargetsFromNfpmContentFilesRequest": { + "consumed_by_rules": [ + "pants.backend.nfpm.target_types_rules.generate_targets_from_nfpm_content_files" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.nfpm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.nfpm.target_types_rules", + "name": "GenerateTargetsFromNfpmContentFilesRequest", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.nfpm.target_types_rules.GenerateTargetsFromNfpmContentSymlinksRequest": { + "consumed_by_rules": [ + "pants.backend.nfpm.target_types_rules.generate_targets_from_nfpm_content_symlinks" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.nfpm" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.nfpm.target_types_rules", + "name": "GenerateTargetsFromNfpmContentSymlinksRequest", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.nfpm.util_rules.generate_config.NfpmPackageConfig": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.build_files.fmt.ruff", + "pants.backend.experimental.debian", + "pants.backend.experimental.go", + "pants.backend.experimental.go.lint.vet", + "pants.backend.experimental.helm.check.kubeconform", + "pants.backend.experimental.java.bsp", + "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.javascript", + "pants.backend.experimental.makeself", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.nfpm.util_rules.generate_config", + "pants.backend.python.lint.yapf", + "pants.backend.url_handlers.s3", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.experimental.nfpm" + ], + "documentation": "NfpmPackageConfig(digest: 'Digest')", + "is_union": false, + "module": "pants.backend.nfpm.util_rules.generate_config", + "name": "NfpmPackageConfig", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [ + "pants.backend.nfpm.util_rules.generate_config.generate_nfpm_yaml" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.nfpm.rules.package_nfpm_package" + ] + }, + "pants.backend.nfpm.util_rules.sandbox.NfpmContentSandbox": { + "consumed_by_rules": [], + "dependencies": [ + "builtins", + "pants.backend.awslambda.python", + "pants.backend.build_files.fmt.ruff", + "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.debian", + "pants.backend.experimental.go", + "pants.backend.experimental.go.lint.golangci_lint", + "pants.backend.experimental.go.lint.vet", + "pants.backend.experimental.helm.check.kubeconform", + "pants.backend.experimental.java", + "pants.backend.experimental.java.bsp", + "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.javascript", + "pants.backend.experimental.makeself", + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.python.packaging.pyoxidizer", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.google_cloud_function.python", + "pants.backend.nfpm.util_rules.sandbox", + "pants.backend.python", + "pants.backend.python.lint.yapf", + "pants.backend.url_handlers.s3", + "pants.core", + "pants.engine.unions" + ], + "dependents": [ + "pants.backend.experimental.nfpm" + ], + "documentation": "NfpmContentSandbox(digest: 'Digest')", + "is_union": false, + "module": "pants.backend.nfpm.util_rules.sandbox", + "name": "NfpmContentSandbox", + "provider": [ + "pants.backend.experimental.nfpm" + ], + "returned_by_rules": [ + "pants.backend.nfpm.util_rules.sandbox.populate_nfpm_content_sandbox" + ], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.backend.nfpm.rules.package_nfpm_package" + ] + }, "pants.backend.openapi.codegen.java.extra_fields.OpenApiJavaApiPackageField": { "consumed_by_rules": [], "dependencies": [ @@ -52011,18 +53030,19 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.nfpm", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.openapi.codegen.java.rules", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -52158,7 +53178,7 @@ "pants.backend.openapi.dependency_inference.OpenApiDependencies": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", + "pants.backend.experimental.cc", "pants.backend.openapi.dependency_inference" ], "dependents": [ @@ -52557,7 +53577,7 @@ "pants.backend.openapi.util_rules.pom_parser.PomReport": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", + "pants.backend.experimental.cc", "pants.backend.openapi.util_rules.pom_parser" ], "dependents": [ @@ -52605,19 +53625,21 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.console", "pants.engine.fs" @@ -52689,6 +53711,8 @@ "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.java.bsp", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", + "pants.backend.experimental.typescript", "pants.engine.addresses", "pants.engine.console", "pants.engine.target" @@ -52739,6 +53763,8 @@ "dependencies": [ "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", + "pants.backend.experimental.typescript", "pants.engine.addresses" ], "dependents": [ @@ -52785,8 +53811,9 @@ "pants.backend.project_info.dependents.DependentsGoal": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", + "pants.backend.experimental.typescript", "pants.engine.addresses", "pants.engine.console" ], @@ -52858,6 +53885,8 @@ "pants.backend.experimental.go", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", + "pants.backend.experimental.typescript", "pants.base.build_root", "pants.build_graph.address", "pants.engine.addresses", @@ -52906,8 +53935,9 @@ "pants.backend.project_info.filter_targets.FilterGoal": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", + "pants.backend.experimental.typescript", "pants.engine.addresses", "pants.engine.console" ], @@ -53000,6 +54030,8 @@ "dependencies": [ "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", + "pants.backend.experimental.typescript", "pants.engine.addresses", "pants.engine.console", "pants.engine.target" @@ -53858,22 +54890,23 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python.lint.isort", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv.custom_install", "pants.backend.url_handlers.s3" ], @@ -54058,18 +55091,19 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core" ], @@ -54150,19 +55184,21 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -54320,20 +55356,21 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python.lint.isort", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv.custom_install", "pants.backend.url_handlers.s3", "pants.core", @@ -54437,16 +55474,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -54591,7 +55629,7 @@ "dependents": [ "pants.backend.python" ], - "documentation": "PexBinaryFieldSet(address: 'Address', entry_point: pants.backend.python.target_types.PexEntryPointField, script: pants.backend.python.target_types.PexScriptField, executable: pants.backend.python.target_types.PexExecutableField, args: pants.backend.python.target_types.PexArgsField, env: pants.backend.python.target_types.PexEnvField, output_path: pants.core.goals.package.OutputPathField, emit_warnings: pants.backend.python.target_types.PexEmitWarningsField, ignore_errors: pants.backend.python.target_types.PexIgnoreErrorsField, inherit_path: pants.backend.python.target_types.PexInheritPathField, sh_boot: pants.backend.python.target_types.PexShBootField, shebang: pants.backend.python.target_types.PexShebangField, strip_env: pants.backend.python.target_types.PexStripEnvField, complete_platforms: pants.backend.python.target_types.PexCompletePlatformsField, resolve_local_platforms: pants.backend.python.target_types.PexResolveLocalPlatformsField, layout: pants.backend.python.target_types.PexLayoutField, execution_mode: pants.backend.python.target_types.PexExecutionModeField, include_requirements: pants.backend.python.target_types.PexIncludeRequirementsField, include_sources: pants.backend.python.target_types.PexIncludeSourcesField, include_tools: pants.backend.python.target_types.PexIncludeToolsField, venv_site_packages_copies: pants.backend.python.target_types.PexVenvSitePackagesCopies, venv_hermetic_scripts: pants.backend.python.target_types.PexVenvHermeticScripts, environment: pants.core.util_rules.environments.EnvironmentField, check: pants.backend.python.target_types.PexCheckField, extra_build_args: pants.backend.python.target_types.PexExtraBuildArgsField)", + "documentation": "PexBinaryFieldSet(address: 'Address', entry_point: pants.backend.python.target_types.PexEntryPointField, script: pants.backend.python.target_types.PexScriptField, executable: pants.backend.python.target_types.PexExecutableField, args: pants.backend.python.target_types.PexArgsField, env: pants.backend.python.target_types.PexEnvField, output_path: pants.core.goals.package.OutputPathField, emit_warnings: pants.backend.python.target_types.PexEmitWarningsField, ignore_errors: pants.backend.python.target_types.PexIgnoreErrorsField, inherit_path: pants.backend.python.target_types.PexInheritPathField, sh_boot: pants.backend.python.target_types.PexShBootField, shebang: pants.backend.python.target_types.PexShebangField, strip_env: pants.backend.python.target_types.PexStripEnvField, complete_platforms: pants.backend.python.target_types.PexCompletePlatformsField, layout: pants.backend.python.target_types.PexLayoutField, execution_mode: pants.backend.python.target_types.PexExecutionModeField, include_requirements: pants.backend.python.target_types.PexIncludeRequirementsField, include_sources: pants.backend.python.target_types.PexIncludeSourcesField, include_tools: pants.backend.python.target_types.PexIncludeToolsField, venv_site_packages_copies: pants.backend.python.target_types.PexVenvSitePackagesCopies, venv_hermetic_scripts: pants.backend.python.target_types.PexVenvHermeticScripts, environment: pants.core.util_rules.environments.EnvironmentField, check: pants.backend.python.target_types.PexCheckField, extra_build_args: pants.backend.python.target_types.PexExtraBuildArgsField)", "is_union": false, "module": "pants.backend.python.goals.package_pex_binary", "name": "PexBinaryFieldSet", @@ -54780,7 +55818,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.go.lint.vet", @@ -54788,10 +55825,12 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core" ], @@ -54867,10 +55906,10 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", + "pants.backend.experimental.cc", "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.debian", "pants.backend.experimental.go", @@ -54884,13 +55923,15 @@ "pants.backend.experimental.javascript", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python.lint.pylint", "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.python.typecheck.mypy", "pants.backend.shell", @@ -55443,7 +56484,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.vet", @@ -55452,10 +56492,12 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python.lint.pylint", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.addresses" ], @@ -55671,7 +56713,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.vet", @@ -55680,9 +56721,11 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.addresses" ], @@ -56042,13 +57085,36 @@ "union_type": "GenerateTargetsRequest", "used_in_rules": [] }, + "pants.backend.python.macros.uv_requirements.GenerateFromUvRequirementsRequest": { + "consumed_by_rules": [ + "pants.backend.python.macros.uv_requirements.generate_from_uv_requirement" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.python" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.python.macros.uv_requirements", + "name": "GenerateFromUvRequirementsRequest", + "provider": [ + "pants.backend.python" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "GenerateTargetsRequest", + "used_in_rules": [] + }, "pants.backend.python.mixed_interpreter_constraints.py_constraints.PyConstraintsGoal": { "consumed_by_rules": [], "dependencies": [ "pants.backend.experimental.go", - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", "pants.backend.experimental.python", + "pants.backend.experimental.typescript", "pants.backend.project_info", "pants.engine.addresses", "pants.engine.console", @@ -56126,16 +57192,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -56503,6 +57570,7 @@ "pants.backend.python.macros.pipenv_requirements.generate_from_pipenv_requirements", "pants.backend.python.macros.poetry_requirements.generate_from_python_requirement", "pants.backend.python.macros.python_requirements.generate_from_python_requirement", + "pants.backend.python.macros.uv_requirements.generate_from_uv_requirement", "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints", "pants.backend.python.providers.pyenv.rules.get_python", "pants.backend.python.target_types_rules.infer_pex_binary_entry_point_dependency", @@ -56874,9 +57942,10 @@ "consumed_by_rules": [], "dependencies": [ "pants.backend.experimental.go.lint.golangci_lint", - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.java.bsp", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", + "pants.backend.experimental.typescript", "pants.backend.python", "pants.engine.addresses" ], @@ -57180,7 +58249,7 @@ "pants.backend.python.typecheck.mypy.rules.mypy_typecheck_partition" ], "dependencies": [ - "pants.backend.build_files.fix.deprecations", + "pants.backend.experimental.cc", "pants.core" ], "dependents": [ @@ -57207,8 +58276,9 @@ ], "dependencies": [ "pants.backend.experimental.go", - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", + "pants.backend.experimental.typescript", "pants.backend.python", "pants.backend.python.lint.pylint", "pants.engine.addresses" @@ -57472,7 +58542,7 @@ "pants.backend.python.util_rules.ancestor_files.AncestorFiles": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", + "pants.backend.experimental.cc", "pants.backend.experimental.tools.trufflehog", "pants.backend.python" ], @@ -57525,7 +58595,7 @@ "pants.backend.python.util_rules.dists.BuildSystem": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations" + "pants.backend.experimental.cc" ], "dependents": [ "pants.backend.python" @@ -57598,19 +58668,21 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.url_handlers.s3" ], @@ -57665,17 +58737,19 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -57986,6 +59060,7 @@ "used_in_rules": [ "pants.backend.python.framework.django.detect_apps.detect_django_apps", "pants.backend.python.goals.export.export_virtualenv_for_resolve", + "pants.backend.python.goals.lockfile.generate_lockfile", "pants.backend.python.goals.repl.create_ipython_repl_request", "pants.backend.python.goals.repl.create_python_repl_request", "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request", @@ -58002,7 +59077,6 @@ "consumed_by_rules": [], "dependencies": [ "pants.backend.awslambda.python", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", @@ -58010,8 +59084,10 @@ "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java", "pants.backend.experimental.java.bsp", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.python.packaging.pyoxidizer", "pants.backend.experimental.tools.trufflehog", "pants.backend.google_cloud_function.python", @@ -58041,7 +59117,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.vet", @@ -58049,10 +59124,13 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python", + "pants.backend.python.lint.yapf", "pants.backend.python.typecheck.mypy", "pants.backend.url_handlers.s3" ], @@ -58133,17 +59211,18 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -58191,7 +59270,6 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", @@ -58201,13 +59279,17 @@ "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python.lint.isort", + "pants.backend.python.lint.yapf", "pants.backend.python.typecheck.mypy", "pants.backend.url_handlers.s3", "pants.engine.unions" @@ -58235,19 +59317,21 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.url_handlers.s3", "pants.base.build_root" @@ -58325,7 +59409,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.vet", @@ -58333,10 +59416,12 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python.lint.pylint", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -58435,7 +59520,7 @@ "pants.backend.python.util_rules.package_dists.DistBuildSources": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", + "pants.backend.experimental.cc", "pants.backend.experimental.go", "pants.backend.python.lint.pylint", "pants.engine.unions" @@ -58519,7 +59604,7 @@ "pants.backend.python.util_rules.package_dists.FinalizedSetupKwargs": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", + "pants.backend.experimental.cc", "pants.backend.experimental.python.framework.stevedore" ], "dependents": [ @@ -58570,16 +59655,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -58698,22 +59784,23 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python", "pants.backend.python.lint.autoflake", "pants.backend.python.lint.bandit", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.python.typecheck.mypy", "pants.backend.url_handlers.s3" @@ -58923,7 +60010,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.golangci_lint", @@ -58932,13 +60018,15 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.openapi_format", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python.lint.docformatter", "pants.backend.python.lint.pylint", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.url_handlers.s3", "pants.engine.unions" @@ -59020,8 +60108,9 @@ "consumed_by_rules": [], "dependencies": [ "pants.backend.experimental.go", - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", + "pants.backend.experimental.typescript", "pants.backend.python", "pants.backend.python.lint.pylint", "pants.engine.addresses" @@ -59052,7 +60141,7 @@ "pants.backend.python.util_rules.pex.PexResolveInfo": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.python", "pants.backend.python.lint.docformatter", "pants.backend.python.providers.experimental.pyenv", @@ -59113,18 +60202,19 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python.lint.pylint", "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -59347,18 +60437,19 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python", + "pants.backend.python.lint.yapf", "pants.backend.python.typecheck.mypy", "pants.backend.url_handlers.s3" ], @@ -59383,13 +60474,15 @@ }, "pants.backend.python.util_rules.pex_cli.PexCli": { "consumed_by_rules": [ - "pants.backend.python.util_rules.pex_cli.download_pex_pex" + "pants.backend.python.util_rules.pex_cli.download_pex_pex", + "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process" ], "dependencies": [ "pants.option.scope" ], "dependents": [ - "pants.backend.python.lint.docformatter" + "pants.backend.python.lint.docformatter", + "pants.backend.python.typecheck.mypy" ], "documentation": null, "is_union": false, @@ -59576,13 +60669,13 @@ "pants.backend.python.util_rules.pex_environment.PythonExecutable": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.java", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", @@ -59621,6 +60714,7 @@ "used_in_rules": [ "pants.backend.python.framework.django.detect_apps.detect_django_apps", "pants.backend.python.goals.export.export_virtualenv_for_resolve", + "pants.backend.python.goals.lockfile.generate_lockfile", "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request", "pants.backend.python.goals.run_python_source.create_python_source_debug_adapter_request", "pants.backend.python.goals.run_python_source.create_python_source_run_in_sandbox_request", @@ -59685,7 +60779,7 @@ "pants.backend.python.util_rules.pex_from_targets.determine_requirement_strings_in_closure" ], "dependencies": [ - "pants.backend.build_files.fix.deprecations", + "pants.backend.experimental.cc", "pants.backend.experimental.python" ], "dependents": [ @@ -59863,20 +60957,21 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -60043,20 +61138,21 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.unions" ], @@ -60108,19 +61204,20 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -60569,7 +61666,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.go.lint.vet", @@ -60577,12 +61673,14 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala", "pants.backend.experimental.scala.debug_goals", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.scala.bsp.rules", "pants.backend.url_handlers.s3", "pants.base.build_root", @@ -60772,7 +61870,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.debian", @@ -60782,11 +61879,12 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.debug_goals", "pants.backend.experimental.scala.lint.scalafix", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.scala.bsp.rules", "pants.backend.url_handlers.s3", "pants.engine.target", @@ -60950,8 +62048,8 @@ "pants.backend.experimental.java", "pants.backend.experimental.openapi", "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala", + "pants.backend.experimental.typescript", "pants.backend.scala.compile.scalac_plugins", "pants.core" ], @@ -60981,7 +62079,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", @@ -60991,11 +62088,13 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.bsp", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.scala.compile.scalac_plugins", "pants.backend.url_handlers.s3", "pants.engine.target" @@ -61200,7 +62299,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", @@ -61210,13 +62308,14 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala", "pants.backend.experimental.scala.bsp", "pants.backend.experimental.scala.lint.scalafmt", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.process" ], @@ -61270,9 +62369,7 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -61281,12 +62378,13 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala", "pants.backend.experimental.scala.bsp", "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -61309,8 +62407,8 @@ "pants.backend.scala.dependency_inference.scala_parser.ScalaSourceDependencyAnalysis": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.buildifier" + "pants.backend.experimental.cc", + "pants.backend.experimental.java.lint.google_java_format" ], "dependents": [ "pants.backend.experimental.scala.debug_goals", @@ -61568,29 +62666,6 @@ "union_type": null, "used_in_rules": [] }, - "pants.backend.scala.lint.scalafix.rules._ScalafixProcess": { - "consumed_by_rules": [ - "pants.backend.scala.lint.scalafix.rules._run_scalafix_process" - ], - "dependencies": [], - "dependents": [ - "pants.backend.experimental.scala.lint.scalafix" - ], - "documentation": "_ScalafixProcess(snapshot: 'Snapshot', partition_info: 'ScalafixPartitionInfo', check_only: 'bool')", - "is_union": false, - "module": "pants.backend.scala.lint.scalafix.rules", - "name": "_ScalafixProcess", - "provider": [ - "pants.backend.scala.lint.scalafix.rules" - ], - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.scala.lint.scalafix.rules.scalafix_fix", - "pants.backend.scala.lint.scalafix.rules.scalafix_lint" - ] - }, "pants.backend.scala.lint.scalafix.subsystem.ScalafixSubsystem": { "consumed_by_rules": [ "pants.backend.scala.lint.scalafix.rules._partition_scalafix", @@ -61958,7 +63033,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.vet", @@ -61969,11 +63043,13 @@ "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.scala.test.scalatest", "pants.backend.url_handlers.s3", "pants.core" @@ -62157,7 +63233,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", @@ -62166,11 +63241,13 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.shell.lint.shellcheck", "pants.backend.url_handlers.s3", "pants.engine.process" @@ -62484,9 +63561,8 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.vet", @@ -62495,9 +63571,12 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core" ], @@ -62971,7 +64050,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.golangci_lint", @@ -62980,9 +64058,11 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.terraform.dependencies", "pants.backend.url_handlers.s3", "pants.core" @@ -63012,7 +64092,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.golangci_lint", @@ -63021,9 +64100,11 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.terraform.dependencies", "pants.backend.url_handlers.s3", "pants.core" @@ -63120,17 +64201,18 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.url_handlers.s3" ], @@ -63939,6 +65021,50 @@ "union_type": "ExportableTool", "used_in_rules": [] }, + "pants.backend.tsx.goals.tailor.PutativeTSXTargetsRequest": { + "consumed_by_rules": [ + "pants.backend.tsx.goals.tailor.find_putative_tsx_targets" + ], + "dependencies": [ + "pants.core" + ], + "dependents": [ + "pants.backend.experimental.typescript" + ], + "documentation": "PutativeTSXTargetsRequest(dirs: 'tuple[str, ...]')", + "is_union": false, + "module": "pants.backend.tsx.goals.tailor", + "name": "PutativeTSXTargetsRequest", + "provider": [ + "pants.backend.experimental.typescript" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "PutativeTargetsRequest", + "used_in_rules": [] + }, + "pants.backend.typescript.dependency_inference.rules.InferTypeScriptDependenciesRequest": { + "consumed_by_rules": [ + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies" + ], + "dependencies": [ + "pants.engine.target" + ], + "dependents": [ + "pants.backend.experimental.typescript" + ], + "documentation": null, + "is_union": false, + "module": "pants.backend.typescript.dependency_inference.rules", + "name": "InferTypeScriptDependenciesRequest", + "provider": [ + "pants.backend.experimental.typescript" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "InferDependenciesRequest", + "used_in_rules": [] + }, "pants.backend.typescript.goals.tailor.PutativeTypeScriptTargetsRequest": { "consumed_by_rules": [ "pants.backend.typescript.goals.tailor.find_putative_ts_targets" @@ -63965,18 +65091,19 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.typescript.tsconfig", "pants.backend.url_handlers.s3" ], @@ -64005,7 +65132,8 @@ "pants.backend.typescript.tsconfig" ], "dependents": [ - "pants.backend.experimental.javascript.lint.prettier" + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.typescript" ], "documentation": "ClosestTSConfig(ts_config: 'TSConfig | None')", "is_union": false, @@ -64020,7 +65148,8 @@ "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies" + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies" ] }, "pants.backend.typescript.tsconfig.ParseTSConfigRequest": { @@ -64272,9 +65401,13 @@ "used_in_rules": [] }, "pants.base.specs.RawSpecs": { - "consumed_by_rules": [], + "consumed_by_rules": [ + "pants.engine.internals.specs_rules.resolve_addresses_from_raw_specs" + ], "dependencies": [], - "dependents": [], + "dependents": [ + "pants.backend.experimental.nfpm" + ], "documentation": "Convert the specs into matching targets and files.\n\nUnlike `Specs`, this does not consider include vs. ignore specs. It simply matches all relevant\ntargets/files.\n\nWhen you want to operate on what the user specified, use `Specs`. Otherwise, you can use\neither `Specs` or `RawSpecs` in rules, e.g. to find what targets exist in a directory.", "is_union": false, "module": "pants.base.specs", @@ -64302,6 +65435,24 @@ "pants.core.goals.tailor.restrict_conflicting_sources" ] }, + "pants.base.specs.RawSpecsWithOnlyFileOwners": { + "consumed_by_rules": [], + "dependencies": [], + "dependents": [], + "documentation": "The subset of `RawSpecs` that require using the `Owners` rule to match targets.\n\nThis exists to work around a cycle in the rule graph. Usually, consumers should use the simpler\n`Get(Addresses, RawSpecs)`, which will result in this rule being used.", + "is_union": false, + "module": "pants.base.specs", + "name": "RawSpecsWithOnlyFileOwners", + "provider": [ + "pants.base.specs" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": null, + "used_in_rules": [ + "pants.engine.internals.specs_rules.resolve_addresses_from_raw_specs" + ] + }, "pants.base.specs.RawSpecsWithoutFileOwners": { "consumed_by_rules": [], "dependencies": [], @@ -64321,7 +65472,8 @@ "pants.engine.internals.graph.find_all_targets", "pants.engine.internals.graph.find_all_unexpanded_targets", "pants.engine.internals.graph.find_owners", - "pants.engine.internals.graph.resolve_all_generator_target_requests" + "pants.engine.internals.graph.resolve_all_generator_target_requests", + "pants.engine.internals.specs_rules.resolve_addresses_from_raw_specs" ] }, "pants.base.specs.Specs": { @@ -64468,17 +65620,18 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.bsp", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.bsp.spec.compile", "pants.bsp.util_rules.targets", @@ -64525,7 +65678,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.bsp", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", @@ -64533,9 +65685,11 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.bsp.spec.resources", "pants.bsp.util_rules.targets", @@ -64561,16 +65715,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.bsp.spec.targets", "pants.engine.fs" @@ -64635,16 +65790,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.bsp.spec.targets", "pants.engine.fs" @@ -64829,7 +65985,7 @@ "pants.backend.docker.lint.hadolint", "pants.backend.experimental.bsp", "pants.backend.experimental.go.lint.golangci_lint", - "pants.backend.experimental.javascript", + "pants.backend.experimental.typescript", "pants.bsp.util_rules.targets" ], "dependents": [ @@ -64858,7 +66014,7 @@ "pants.bsp.util_rules.targets.resolve_bsp_build_target_identifier" ], "dependencies": [ - "pants.backend.build_files.fix.deprecations", + "pants.backend.experimental.cc", "pants.backend.experimental.java.bsp", "pants.bsp.util_rules.targets" ], @@ -64907,9 +66063,7 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -64917,11 +66071,14 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.scala.lint.scalafmt", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.base.build_root" ], @@ -64975,7 +66132,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", @@ -64986,12 +66142,13 @@ "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.debug_goals", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.bsp.util_rules.compile", "pants.engine.target", @@ -65049,16 +66206,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.base.build_root" ], @@ -65110,16 +66268,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.base.build_root", "pants.bsp.util_rules.resources", @@ -65232,7 +66391,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.go.lint.vet", @@ -65240,10 +66398,12 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.bsp", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.base.build_root", "pants.bsp.util_rules.targets", @@ -65343,7 +66503,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.go.lint.vet", @@ -65351,10 +66510,12 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.bsp", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.bsp.util_rules.targets", "pants.engine.unions" @@ -65513,11 +66674,10 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", + "pants.backend.experimental.cc", "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.debian", "pants.backend.experimental.go.debug_goals", @@ -65526,15 +66686,17 @@ "pants.backend.experimental.java", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", "pants.backend.experimental.rust", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.terraform", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.helm.check.kubeconform.chart", "pants.backend.helm.check.kubeconform.common", "pants.backend.helm.check.kubeconform.deployment", @@ -65542,6 +66704,7 @@ "pants.backend.python.lint.autoflake", "pants.backend.python.lint.pylint", "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.shell", "pants.backend.url_handlers.s3", @@ -65724,8 +66887,7 @@ "dependencies": [ "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.helm", - "pants.backend.experimental.java.bsp", - "pants.engine.process" + "pants.backend.experimental.java.bsp" ], "dependents": [ "pants.core" @@ -65803,7 +66965,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -65811,12 +66972,14 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python", "pants.backend.python.lint.pydocstyle", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.base.build_root", "pants.engine.console", @@ -65869,18 +67032,20 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python.lint.docformatter", "pants.backend.python.lint.pylint", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.python.typecheck.mypy", "pants.backend.url_handlers.s3", @@ -66282,7 +67447,7 @@ }, "pants.core.goals.fix.BuildifierRequest.Batch": { "consumed_by_rules": [ - "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt" + "pants.backend.build_files.fmt.buildifier.rules.buildifier_fmt" ], "dependencies": [ "pants.core" @@ -66395,12 +67560,12 @@ "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.openapi_format", "pants.backend.experimental.openapi.lint.spectral", "pants.backend.experimental.python.lint.add_trailing_comma", "pants.backend.experimental.python.lint.ruff.check", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", "pants.backend.experimental.scala.debug_goals", "pants.backend.experimental.scala.lint.scalafix", @@ -66411,6 +67576,7 @@ "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.trufflehog", "pants.backend.experimental.tools.yamllint", + "pants.backend.experimental.typescript", "pants.backend.experimental.visibility", "pants.backend.project_info", "pants.backend.python", @@ -66459,6 +67625,7 @@ "builtins", "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.debug_goals", @@ -66469,12 +67636,13 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.lint.autoflake", "pants.backend.experimental.python.lint.pyupgrade", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python", "pants.backend.python.lint.pylint", "pants.backend.python.providers.experimental.pyenv", @@ -66527,7 +67695,7 @@ "pants.backend.build_files.fix.deprecations.renamed_fields_rules.fix", "pants.backend.build_files.fix.deprecations.renamed_targets_rules.fix", "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt", + "pants.backend.build_files.fmt.buildifier.rules.buildifier_fmt", "pants.backend.build_files.fmt.ruff.register.ruff_fmt", "pants.backend.build_files.fmt.yapf.register.yapf_fmt", "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", @@ -67247,12 +68415,12 @@ "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.openapi_format", "pants.backend.experimental.openapi.lint.spectral", "pants.backend.experimental.python.lint.add_trailing_comma", "pants.backend.experimental.python.lint.ruff.check", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", "pants.backend.experimental.scala.debug_goals", "pants.backend.experimental.scala.lint.scalafix", @@ -67263,6 +68431,7 @@ "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.trufflehog", "pants.backend.experimental.tools.yamllint", + "pants.backend.experimental.typescript", "pants.backend.experimental.visibility", "pants.backend.project_info", "pants.backend.python", @@ -67359,11 +68528,9 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", + "pants.backend.experimental.cc", "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.debian", @@ -67374,14 +68541,17 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python.lint.autoflake", + "pants.backend.python.lint.isort", "pants.backend.python.lint.pydocstyle", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", + "pants.backend.python.providers.experimental.pyenv.custom_install", "pants.backend.url_handlers.s3", "pants.engine.process", "pants.jvm.resolve.coursier_fetch", @@ -67417,7 +68587,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", @@ -67427,15 +68596,16 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python.lint.autoflake", "pants.backend.python.lint.bandit", "pants.backend.python.lint.pydocstyle", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.console", "pants.engine.fs", @@ -67733,18 +68903,20 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.environment" ], @@ -69001,6 +70173,7 @@ "pants.backend.build_files.fmt.ruff", "pants.backend.build_files.fmt.yapf", "pants.backend.experimental.adhoc", + "pants.backend.experimental.cc", "pants.backend.experimental.cc.lint.clangformat", "pants.backend.experimental.debian", "pants.backend.experimental.go", @@ -69013,14 +70186,15 @@ "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.openapi_format", "pants.backend.experimental.python.lint.add_trailing_comma", "pants.backend.experimental.python.lint.ruff.format", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", "pants.backend.experimental.scala.lint.scalafmt", "pants.backend.experimental.terraform", + "pants.backend.experimental.typescript", "pants.backend.python", "pants.backend.python.lint.autoflake", "pants.backend.python.lint.black", @@ -70175,21 +71349,20 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.docker", "pants.backend.experimental.adhoc", + "pants.backend.experimental.cc", "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.go", "pants.backend.experimental.go.debug_goals", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", "pants.backend.experimental.scala.bsp", "pants.backend.experimental.scala.debug_goals", @@ -70198,9 +71371,12 @@ "pants.backend.experimental.terraform", "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.nfpm.rules", "pants.backend.python.lint.autoflake", "pants.backend.python.lint.isort", "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", "pants.backend.python.typecheck.mypy", "pants.backend.shell", "pants.backend.url_handlers.s3", @@ -70218,6 +71394,7 @@ "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.python.packaging.pyoxidizer", "pants.backend.google_cloud_function.python", "pants.backend.python", @@ -70238,6 +71415,7 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.python.packaging.pyoxidizer", "pants.backend.google_cloud_function.python", "pants.backend.python" @@ -70253,6 +71431,11 @@ "pants.backend.javascript.package.rules.generate_package_artifact_from_node_build_script", "pants.backend.javascript.package.rules.pack_node_package_into_tgz_for_publication", "pants.backend.makeself.goals.package.package_makeself_binary", + "pants.backend.nfpm.rules.package_nfpm_apk_package", + "pants.backend.nfpm.rules.package_nfpm_archlinux_package", + "pants.backend.nfpm.rules.package_nfpm_deb_package", + "pants.backend.nfpm.rules.package_nfpm_package", + "pants.backend.nfpm.rules.package_nfpm_rpm_package", "pants.backend.python.goals.package_dists.package_python_dist", "pants.backend.python.goals.package_pex_binary.built_pacakge_for_pex_from_targets_request", "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", @@ -70273,6 +71456,11 @@ "pants.backend.google_cloud_function.python.rules.package_python_google_cloud_function", "pants.backend.makeself.goals.package.package_makeself_binary", "pants.backend.makeself.goals.run.create_makeself_archive_run_request", + "pants.backend.nfpm.rules.package_nfpm_apk_package", + "pants.backend.nfpm.rules.package_nfpm_archlinux_package", + "pants.backend.nfpm.rules.package_nfpm_deb_package", + "pants.backend.nfpm.rules.package_nfpm_rpm_package", + "pants.backend.nfpm.util_rules.sandbox.populate_nfpm_content_sandbox", "pants.backend.python.goals.run_pex_binary.create_pex_binary_run_request", "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", "pants.backend.python.packaging.pyoxidizer.rules.run_pyoxidizer_binary", @@ -70330,11 +71518,13 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.google_cloud_function.python", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core", "pants.engine.fs", @@ -70367,6 +71557,7 @@ "pants.backend.experimental.java", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.python.packaging.pyoxidizer", "pants.backend.google_cloud_function.python", "pants.backend.python", @@ -70388,6 +71579,10 @@ "GoBinaryFieldSet", "HelmPackageFieldSet", "MakeselfArchiveFieldSet", + "NfpmApkPackageFieldSet", + "NfpmArchlinuxPackageFieldSet", + "NfpmDebPackageFieldSet", + "NfpmRpmPackageFieldSet", "NodeBuildScriptPackageFieldSet", "NodePackageTarFieldSet", "PackageWarFileFieldSet", @@ -70496,16 +71691,19 @@ "pants.backend.experimental.javascript", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.terraform", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.google_cloud_function.python", "pants.backend.python", "pants.backend.python.lint.autoflake", "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.python.typecheck.mypy", "pants.backend.shell", @@ -70670,7 +71868,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.vet", @@ -70680,13 +71877,15 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala", "pants.backend.experimental.scala.debug_goals", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python.lint.pylint", + "pants.backend.python.lint.yapf", "pants.backend.python.typecheck.mypy", "pants.backend.url_handlers.s3", "pants.engine.target" @@ -70882,14 +72081,16 @@ "pants.backend.experimental.java", "pants.backend.experimental.java.bsp", "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala", "pants.backend.experimental.scala.bsp", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python.lint.isort", "pants.backend.python.lint.pylint", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.python.typecheck.mypy", "pants.backend.url_handlers.s3", @@ -71022,14 +72223,16 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.bsp", "pants.backend.experimental.scala.debug_goals", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python.lint.isort", "pants.backend.python.lint.pylint", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.python.typecheck.mypy", "pants.backend.url_handlers.s3", @@ -71086,7 +72289,6 @@ "dependencies": [ "builtins", "pants.backend.awslambda.python", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.docker", "pants.backend.experimental.codegen.protobuf.scala", @@ -71097,11 +72299,12 @@ "pants.backend.experimental.helm", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", "pants.backend.experimental.python.framework.django", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", "pants.backend.experimental.scala", "pants.backend.experimental.scala.bsp", @@ -71110,10 +72313,12 @@ "pants.backend.experimental.terraform", "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.google_cloud_function.python", "pants.backend.python.lint.isort", "pants.backend.python.lint.pylint", "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.python.typecheck.mypy", "pants.backend.url_handlers.s3", @@ -71252,11 +72457,12 @@ "pants.backend.sql.tailor.find_putative_targets", "pants.backend.swift.goals.tailor.find_putative_targets", "pants.backend.terraform.goals.tailor.find_putative_terraform_module_targets", + "pants.backend.tsx.goals.tailor.find_putative_tsx_targets", "pants.backend.typescript.goals.tailor.find_putative_ts_targets" ], "dependencies": [ "pants.backend.experimental.go.lint.vet", - "pants.backend.experimental.javascript" + "pants.backend.experimental.typescript" ], "dependents": [ "pants.backend.codegen.protobuf.python", @@ -71297,8 +72503,8 @@ "consumed_by_rules": [], "dependencies": [ "pants.backend.experimental.go.lint.vet", - "pants.backend.experimental.javascript", "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.typescript", "pants.engine.target" ], "dependents": [ @@ -71346,18 +72552,20 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -71407,7 +72615,6 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", "pants.backend.docker.lint.hadolint", "pants.backend.experimental.codegen.protobuf.scala", @@ -71422,11 +72629,13 @@ "pants.backend.experimental.kotlin", "pants.backend.experimental.kotlin.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi", "pants.backend.experimental.python", "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.target" ], @@ -71480,6 +72689,7 @@ "pants.backend.sql.tailor.find_putative_targets", "pants.backend.swift.goals.tailor.find_putative_targets", "pants.backend.terraform.goals.tailor.find_putative_terraform_module_targets", + "pants.backend.tsx.goals.tailor.find_putative_tsx_targets", "pants.backend.typescript.goals.tailor.find_putative_ts_targets" ], "union_members": [], @@ -71539,6 +72749,7 @@ "PutativeShellTargetsRequest", "PutativeSqlTargetsRequest", "PutativeSwiftTargetsRequest", + "PutativeTSXTargetsRequest", "PutativeTerraformTargetsRequest", "PutativeThriftTargetsRequest", "PutativeTypeScriptTargetsRequest" @@ -71693,6 +72904,7 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.python.packaging.pyoxidizer", "pants.backend.google_cloud_function.python", "pants.backend.python" @@ -71749,7 +72961,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.debian", "pants.backend.experimental.go", @@ -71758,12 +72969,14 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python.lint.pylint", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core", "pants.engine.process", @@ -72192,12 +73405,12 @@ "pants.backend.experimental.kotlin.debug_goals", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.openapi_format", "pants.backend.experimental.openapi.lint.spectral", "pants.backend.experimental.python.lint.add_trailing_comma", "pants.backend.experimental.python.lint.ruff.check", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", "pants.backend.experimental.scala.debug_goals", "pants.backend.experimental.scala.lint.scalafix", @@ -72208,6 +73421,7 @@ "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.trufflehog", "pants.backend.experimental.tools.yamllint", + "pants.backend.experimental.typescript", "pants.backend.experimental.visibility", "pants.backend.project_info", "pants.backend.python", @@ -72532,14 +73746,17 @@ "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.kotlin", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", "pants.backend.experimental.scala", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.terraform", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python.lint.autoflake", "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", "pants.backend.python.typecheck.mypy", "pants.backend.url_handlers.s3", "pants.core", @@ -72643,6 +73860,26 @@ "union_type": "RewrittenBuildFileRequest", "used_in_rules": [] }, + "pants.core.goals.update_build_files.FormatWithBuildifierRequest": { + "consumed_by_rules": [ + "pants.core.goals.update_build_files.format_build_file_with_buildifier" + ], + "dependencies": [], + "dependents": [ + "pants.core" + ], + "documentation": null, + "is_union": false, + "module": "pants.core.goals.update_build_files", + "name": "FormatWithBuildifierRequest", + "provider": [ + "pants.core" + ], + "returned_by_rules": [], + "union_members": [], + "union_type": "RewrittenBuildFileRequest", + "used_in_rules": [] + }, "pants.core.goals.update_build_files.FormatWithRuffRequest": { "consumed_by_rules": [ "pants.core.goals.update_build_files.format_build_file_with_ruff" @@ -72730,20 +73967,23 @@ "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", + "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.lint.ruff.check", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python", "pants.backend.python.lint.black", "pants.backend.python.lint.yapf", @@ -72763,6 +74003,7 @@ ], "returned_by_rules": [ "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_buildifier", "pants.core.goals.update_build_files.format_build_file_with_ruff", "pants.core.goals.update_build_files.format_build_file_with_yapf", "pants.core.goals.update_build_files.maybe_rename_deprecated_fields", @@ -72790,6 +74031,7 @@ "returned_by_rules": [], "union_members": [ "FormatWithBlackRequest", + "FormatWithBuildifierRequest", "FormatWithRuffRequest", "FormatWithYapfRequest", "RenameDeprecatedFieldsRequest", @@ -72804,18 +74046,20 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.base.specs", "pants.engine.console", @@ -73239,20 +74483,20 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.lint.pyupgrade", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python.lint.isort", "pants.backend.url_handlers.s3", "pants.core" @@ -73285,7 +74529,7 @@ "dependents": [ "pants.backend.experimental.adhoc" ], - "documentation": "AdhocProcessRequest(description: 'str', address: 'Address', working_directory: 'str', root_output_directory: 'str', argv: 'tuple[str, ...]', timeout: 'int | None', input_digest: 'Digest', immutable_input_digests: 'FrozenDict[str, Digest] | None', append_only_caches: 'FrozenDict[str, str] | None', output_files: 'tuple[str, ...]', output_directories: 'tuple[str, ...]', env_vars: 'FrozenDict[str, str]', log_on_process_errors: 'FrozenDict[int, str] | None', log_output: 'bool', capture_stdout_file: 'str | None', capture_stderr_file: 'str | None', workspace_invalidation_globs: 'PathGlobs | None', cache_scope: 'ProcessCacheScope | None' = None, use_working_directory_as_base_for_output_captures: 'bool' = True)", + "documentation": "AdhocProcessRequest(description: 'str', address: 'Address', working_directory: 'str', root_output_directory: 'str', argv: 'tuple[str, ...]', timeout: 'int | None', input_digest: 'Digest', immutable_input_digests: 'FrozenDict[str, Digest] | None', append_only_caches: 'FrozenDict[str, str] | None', output_files: 'tuple[str, ...]', output_directories: 'tuple[str, ...]', env_vars: 'FrozenDict[str, str]', log_on_process_errors: 'FrozenDict[int, str] | None', log_output: 'bool', capture_stdout_file: 'str | None', capture_stderr_file: 'str | None', workspace_invalidation_globs: 'PathGlobs | None', cache_scope: 'ProcessCacheScope | None' = None, use_working_directory_as_base_for_output_captures: 'bool' = True, outputs_match_error_behavior: 'GlobMatchErrorBehavior' = , outputs_match_conjunction: 'GlobExpansionConjunction | None' = )", "is_union": false, "module": "pants.core.util_rules.adhoc_process_support", "name": "AdhocProcessRequest", @@ -73306,29 +74550,32 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.docker.lint.hadolint", "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.debian", "pants.backend.experimental.go.debug_goals", + "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.terraform", "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", "pants.backend.python.typecheck.mypy", "pants.backend.url_handlers.s3", "pants.core", @@ -73363,16 +74610,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core" ], @@ -73468,13 +74716,15 @@ "pants.backend.experimental.javascript", "pants.backend.experimental.kotlin", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.google_cloud_function.python", "pants.backend.python", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv.custom_install", "pants.backend.shell", "pants.backend.url_handlers.s3", @@ -73521,12 +74771,14 @@ "pants.backend.experimental.javascript", "pants.backend.experimental.kotlin", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.packaging.pyoxidizer", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv.custom_install", "pants.backend.shell", "pants.backend.url_handlers.s3", @@ -73603,18 +74855,20 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python.lint.isort", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -73642,16 +74896,17 @@ ], "dependencies": [ "builtins", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -73728,7 +74983,7 @@ "pants.core.util_rules.config_files.ConfigFiles": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", + "pants.backend.experimental.cc", "pants.backend.experimental.tools.trufflehog" ], "dependents": [ @@ -73863,29 +75118,6 @@ "pants.core.goals.update_build_files.format_build_file_with_yapf" ] }, - "pants.core.util_rules.config_files.GatherConfigFilesByDirectoriesRequest": { - "consumed_by_rules": [ - "pants.core.util_rules.config_files.gather_config_files_by_workspace_dir" - ], - "dependencies": [], - "dependents": [ - "pants.backend.experimental.codegen.thrift.scrooge.java" - ], - "documentation": "GatherConfigFilesByDirectoriesRequest(tool_name: 'str', config_filename: 'str', filepaths: 'tuple[str, ...]', orphan_filepath_behavior: 'OrphanFilepathConfigBehavior' = )", - "is_union": false, - "module": "pants.core.util_rules.config_files", - "name": "GatherConfigFilesByDirectoriesRequest", - "provider": [ - "pants.core" - ], - "returned_by_rules": [], - "union_members": [], - "union_type": null, - "used_in_rules": [ - "pants.backend.scala.lint.scalafix.rules._partition_scalafix", - "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt" - ] - }, "pants.core.util_rules.config_files.GatheredConfigFilesByDirectories": { "consumed_by_rules": [], "dependencies": [ @@ -74040,6 +75272,7 @@ "construct_env_aware_scope_go_generate", "construct_env_aware_scope_golang", "construct_env_aware_scope_jvm", + "construct_env_aware_scope_nfpm", "construct_env_aware_scope_nodejs", "construct_env_aware_scope_pex", "construct_env_aware_scope_pyenv_python_provider", @@ -74078,6 +75311,7 @@ "pants.backend.experimental.helm", "pants.backend.experimental.java", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.framework.stevedore", "pants.backend.google_cloud_function.python", @@ -74199,7 +75433,8 @@ "module": "pants.core.util_rules.environments", "name": "str.OptionField", "provider": [ - "pants.backend.experimental.go" + "pants.backend.experimental.go", + "pants.backend.experimental.nfpm" ], "returned_by_rules": [], "union_members": [], @@ -74211,15 +75446,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core" ], @@ -74238,6 +75475,7 @@ "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.terraform", "pants.backend.experimental.terraform.lint.tfsec", "pants.backend.experimental.tools.trufflehog", @@ -74247,7 +75485,8 @@ "pants.backend.shell", "pants.backend.shell.lint.shellcheck", "pants.backend.shell.lint.shfmt", - "pants.backend.tools.taplo" + "pants.backend.tools.taplo", + "pants.core" ], "documentation": "DownloadedExternalTool(digest: 'Digest', exe: 'str')", "is_union": false, @@ -74262,7 +75501,7 @@ "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt", + "pants.backend.build_files.fmt.buildifier.rules.buildifier_fmt", "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", @@ -74279,6 +75518,7 @@ "pants.backend.helm.util_rules.tool.setup_helm", "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries", "pants.backend.makeself.subsystem.download_makeself_distribution", + "pants.backend.nfpm.rules.package_nfpm_package", "pants.backend.project_info.count_loc.count_loc", "pants.backend.python.providers.pyenv.custom_install.rules.run_pyenv_install", "pants.backend.python.providers.pyenv.rules.get_pyenv_install_info", @@ -74292,6 +75532,7 @@ "pants.backend.terraform.tool.setup_terraform_process", "pants.backend.tools.taplo.rules.taplo_fmt", "pants.backend.tools.trufflehog.rules.run_trufflehog", + "pants.core.goals.update_build_files.format_build_file_with_buildifier", "pants.jvm.resolve.coursier_setup.setup_coursier" ] }, @@ -74354,6 +75595,7 @@ "pants.backend.experimental.python.lint.pyupgrade", "pants.backend.experimental.python.lint.ruff.format", "pants.backend.experimental.scala", + "pants.backend.experimental.typescript", "pants.core", "pants.engine.internals.build_files", "pants.engine.target" @@ -74621,6 +75863,7 @@ "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.kotlin", "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.spectral", "pants.backend.experimental.python.lint.ruff.check", @@ -74675,6 +75918,7 @@ "pants.backend.javascript.install_node_package.add_sources_to_installed_node_package", "pants.backend.javascript.install_node_package.install_node_packages_for_address", "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", + "pants.backend.nfpm.util_rules.sandbox.populate_nfpm_content_sandbox", "pants.backend.openapi.lint.spectral.rules.run_spectral", "pants.backend.python.goals.export.export_python_codegen", "pants.backend.python.goals.pytest_runner.setup_pytest_for_target", @@ -74688,8 +75932,6 @@ "pants.backend.python.util_rules.python_sources.prepare_python_sources", "pants.backend.python.util_rules.python_sources.strip_python_sources", "pants.backend.scala.dependency_inference.scala_parser.create_analyze_scala_source_request", - "pants.backend.scala.lint.scalafix.rules.scalafix_fix", - "pants.backend.scala.lint.scalafix.rules.scalafix_lint", "pants.backend.scala.test.scalatest.setup_scalatest_for_target", "pants.backend.shell.lint.shellcheck.rules.run_shellcheck", "pants.backend.shell.shunit2_test_runner.setup_shunit2_for_target", @@ -74873,7 +76115,7 @@ "consumed_by_rules": [], "dependencies": [ "pants.backend.docker.lint.hadolint", - "pants.backend.experimental.javascript" + "pants.backend.experimental.typescript" ], "dependents": [], "documentation": "The file names from a target's `sources` field, with source roots stripped.\n\nUse via `Get(StrippedSourceFileNames, SourcePathsRequest(tgt.get(SourcesField))`.", @@ -74901,9 +76143,12 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core" ], @@ -75142,8 +76387,8 @@ "pants.core.util_rules.system_binaries.BinaryPath": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.go.util_rules.cgo_binaries", "pants.backend.rust.util_rules.toolchains" ], @@ -75259,22 +76504,23 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core", + "pants.engine.fs", "pants.engine.process" ], "dependents": [ @@ -75371,25 +76617,26 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core" ], "dependents": [ "pants.backend.codegen.protobuf.lint.buf", "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.go.debug_goals", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.makeself", - "pants.backend.experimental.terraform", "pants.backend.shell" ], "documentation": "The shims created for a BinaryShimsRequest are placed in `bin_directory` of the `digest`.\n\nThe purpose of these shims is so that a Process may be executed with `immutable_input_digests`\nprovided to the `Process`, and `path_component` included in its `PATH` environment variable.\n\nThe alternative is to add the directories hosting the binaries directly, but that opens up for\nmany more unrelated binaries to also be executable from PATH, leaking into the sandbox\nunnecessarily.", @@ -75407,12 +76654,12 @@ "used_in_rules": [ "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", "pants.backend.docker.util_rules.docker_binary.get_docker", + "pants.backend.go.util_rules.sdk.setup_go_sdk_process", "pants.backend.javascript.subsystems.nodejs.node_process_environment", "pants.backend.makeself.goals.package.create_makeself_archive", "pants.backend.makeself.goals.run.run_makeself_archive", "pants.backend.shell.util_rules.shell_command.prepare_process_request_from_target", - "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target", - "pants.backend.terraform.tool.setup_terraform_process" + "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target" ] }, "pants.core.util_rules.system_binaries.BinaryShimsRequest": { @@ -75443,10 +76690,10 @@ "used_in_rules": [ "pants.backend.codegen.protobuf.lint.buf.format_rules.run_buf_format", "pants.backend.docker.util_rules.docker_binary.get_docker", + "pants.backend.go.util_rules.sdk.setup_go_sdk_process", "pants.backend.javascript.subsystems.nodejs.node_process_environment", "pants.backend.shell.util_rules.shell_command.prepare_process_request_from_target", - "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target", - "pants.backend.terraform.tool.setup_terraform_process" + "pants.backend.shell.util_rules.shell_command.run_adhoc_result_from_target" ] }, "pants.core.util_rules.system_binaries.Bzip2Binary": { @@ -75804,15 +77051,11 @@ "used_in_rules": [] }, "pants.core.util_rules.system_binaries.GetentBinary": { - "consumed_by_rules": [ - "pants.backend.terraform.tool.setup_terraform_process" - ], + "consumed_by_rules": [], "dependencies": [ "pants.backend.python.lint.isort" ], - "dependents": [ - "pants.backend.experimental.terraform" - ], + "dependents": [], "documentation": null, "is_union": false, "module": "pants.core.util_rules.system_binaries", @@ -76867,12 +78110,12 @@ "pants.backend.experimental.openapi.lint.spectral", "pants.backend.experimental.python.framework.django", "pants.backend.experimental.python.framework.stevedore", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.terraform", "pants.backend.experimental.visibility", "pants.backend.python", "pants.backend.shell", + "pants.base.specs", "pants.build_graph.address", "pants.core", "pants.engine.target", @@ -76884,6 +78127,7 @@ "pants.backend.experimental.go", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.java", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.framework.stevedore", "pants.backend.experimental.visibility", @@ -76899,13 +78143,15 @@ "module": "pants.engine.addresses", "name": "Addresses", "provider": [ - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", + "pants.backend.experimental.typescript", "pants.engine.addresses" ], "returned_by_rules": [ "pants.engine.internals.graph.resolve_dependencies", - "pants.engine.internals.graph.resolve_unparsed_address_inputs" + "pants.engine.internals.graph.resolve_unparsed_address_inputs", + "pants.engine.internals.specs_rules.resolve_addresses_from_raw_specs" ], "union_members": [], "union_type": null, @@ -76922,6 +78168,7 @@ "pants.backend.kotlin.compile.kotlinc_plugins.fetch_kotlinc_plugins", "pants.backend.kotlin.compile.kotlinc_plugins.resolve_kotlinc_plugins_for_target", "pants.backend.kotlin.goals.check.kotlinc_check", + "pants.backend.nfpm.dependency_inference.infer_nfpm_package_scripts_dependencies", "pants.backend.project_info.dependencies.dependencies", "pants.backend.project_info.dependents.map_addresses_to_dependents", "pants.backend.project_info.filedeps.file_deps", @@ -76945,11 +78192,13 @@ "pants.backend.scala.test.scalatest.setup_scalatest_for_target", "pants.backend.terraform.dependency_inference.get_terraform_backend_and_vars", "pants.backend.terraform.goals.lockfiles.setup_user_lockfile_requests", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies", "pants.backend.visibility.lint.check_visibility_rule_violations", "pants.core.util_rules.adhoc_process_support.create_tool_runner", "pants.core.util_rules.adhoc_process_support.resolve_execution_environment", "pants.engine.internals.graph.transitive_dependency_mapping", "pants.engine.internals.graph.transitive_targets", + "pants.engine.internals.specs_rules.resolve_addresses_from_raw_specs", "pants.jvm.package.deploy_jar.package_deploy_jar", "pants.jvm.package.war.render_war_content", "pants.jvm.resolve.jvm_tool.gather_coordinates_for_jvm_lockfile", @@ -77056,7 +78305,7 @@ "pants.engine.internals.platform_rules.environment_vars_subset" ], "dependencies": [ - "pants.backend.build_files.fmt.buildifier", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.python.lint.autoflake", "pants.core", "pants.engine.internals.session" @@ -77101,6 +78350,7 @@ "pants.backend.experimental.javascript", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.kotlin", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", "pants.backend.experimental.python.framework.stevedore", @@ -77134,6 +78384,7 @@ "construct_env_aware_scope_go_generate", "construct_env_aware_scope_golang", "construct_env_aware_scope_jvm", + "construct_env_aware_scope_nfpm", "construct_env_aware_scope_nodejs", "construct_env_aware_scope_pex", "construct_env_aware_scope_pyenv_python_provider", @@ -77206,6 +78457,7 @@ "construct_env_aware_scope_go_generate", "construct_env_aware_scope_golang", "construct_env_aware_scope_jvm", + "construct_env_aware_scope_nfpm", "construct_env_aware_scope_nodejs", "construct_env_aware_scope_pex", "construct_env_aware_scope_pyenv_python_provider", @@ -77300,10 +78552,10 @@ "dependents": [ "pants.backend.experimental.go", "pants.backend.experimental.go.lint.golangci_lint", - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.typescript", "pants.core" ], "documentation": "Which environment name from `[environments-preview].names` that __local__ resolves to.", @@ -77396,7 +78648,7 @@ }, "pants.engine.fs.CreateDigest": { "consumed_by_rules": [ - "pants.engine.intrinsics.create_digest_to_digest" + "pants.engine.intrinsics.create_digest" ], "dependencies": [], "dependents": [ @@ -77506,6 +78758,7 @@ "pants.backend.tools.preamble.rules.preamble_fmt", "pants.core.goals.tailor.edit_build_files", "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_buildifier", "pants.core.goals.update_build_files.format_build_file_with_ruff", "pants.core.goals.update_build_files.format_build_file_with_yapf", "pants.core.goals.update_build_files.update_build_files", @@ -77536,16 +78789,17 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -77587,10 +78841,10 @@ "module": "pants.engine.fs", "name": "DigestContents", "provider": [ - "pants.backend.build_files.fix.deprecations" + "pants.backend.experimental.cc" ], "returned_by_rules": [ - "pants.engine.intrinsics.directory_digest_to_digest_contents" + "pants.engine.intrinsics.get_digest_contents" ], "union_members": [], "union_type": null, @@ -77626,6 +78880,7 @@ "pants.backend.python.macros.pipenv_requirements.generate_from_pipenv_requirements", "pants.backend.python.macros.poetry_requirements.generate_from_python_requirement", "pants.backend.python.macros.python_requirements.generate_from_python_requirement", + "pants.backend.python.macros.uv_requirements.generate_from_uv_requirement", "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", "pants.backend.python.typecheck.mypy.subsystem.setup_mypy_config", "pants.backend.python.typecheck.pyright.rules.pyright_typecheck_partition", @@ -77643,6 +78898,7 @@ "pants.bsp.util_rules.targets.materialize_bsp_build_targets", "pants.core.goals.tailor.edit_build_files", "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_buildifier", "pants.core.goals.update_build_files.format_build_file_with_ruff", "pants.core.goals.update_build_files.format_build_file_with_yapf", "pants.core.goals.update_build_files.update_build_files", @@ -77658,15 +78914,16 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -77677,6 +78934,7 @@ "pants.backend.experimental.helm", "pants.backend.experimental.java", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.nfpm", "pants.backend.experimental.scala.bsp", "pants.backend.experimental.tools.trufflehog" ], @@ -77688,7 +78946,7 @@ "pants.backend.experimental.debian" ], "returned_by_rules": [ - "pants.engine.intrinsics.directory_digest_to_digest_entries" + "pants.engine.intrinsics.get_digest_entries" ], "union_members": [], "union_type": null, @@ -77698,6 +78956,8 @@ "pants.backend.go.goals.generate.merge_digests_with_overwrite", "pants.backend.go.util_rules.build_pkg.build_go_package", "pants.backend.helm.dependency_inference.deployment.analyse_deployment", + "pants.backend.nfpm.util_rules.generate_config.generate_nfpm_yaml", + "pants.backend.nfpm.util_rules.sandbox.populate_nfpm_content_sandbox", "pants.backend.tools.trufflehog.rules.run_trufflehog", "pants.core.util_rules.external_tool.download_external_tool", "pants.jvm.jar_tool.jar_tool.build_jar_tool", @@ -77707,9 +78967,13 @@ ] }, "pants.engine.fs.DigestSubset": { - "consumed_by_rules": [], + "consumed_by_rules": [ + "pants.engine.intrinsics.digest_subset_to_digest" + ], "dependencies": [], - "dependents": [], + "dependents": [ + "pants.backend.experimental.scala.lint.scalafix" + ], "documentation": "A request to get a subset of a digest.\n\nThe digest will be traversed symlink-oblivious to match the provided globs. If you require a\nsymlink-aware subset, you can access the digest's entries `Get(DigestEntries, Digest, digest)`,\nfilter them out, and create a new digest: `Get(Digest, CreateDigest(...))`.\n\nExample:\n\n result = await Get(Digest, DigestSubset(original_digest, PathGlobs([\"subdir1\", \"f.txt\"]))", "is_union": false, "module": "pants.engine.fs", @@ -77746,11 +79010,11 @@ "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", "pants.backend.python.util_rules.package_dists.get_sources", "pants.backend.scala.lint.scalafix.rules._partition_scalafix", - "pants.backend.scala.lint.scalafix.rules.scalafix_fix", "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt", "pants.backend.scala.test.scalatest.run_scalatest_test", "pants.backend.terraform.dependencies.terraform_upgrade_lockfile", "pants.backend.tools.yamllint.rules.partition_inputs", + "pants.core.util_rules.adhoc_process_support.run_adhoc_process", "pants.core.util_rules.stripped_source_files.strip_source_roots", "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_GoPackageSourcesField", "pants.core.util_rules.wrap_source.wrap_source_rule_and_target.wrap_source_JavaSourceField", @@ -77836,7 +79100,8 @@ "dependencies": [], "dependents": [ "pants.backend.experimental.javascript.lint.prettier", - "pants.backend.experimental.python.typecheck.pyright" + "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.typescript" ], "documentation": "PathGlobs(globs: 'Iterable[str]', glob_match_error_behavior: 'GlobMatchErrorBehavior' = , conjunction: 'GlobExpansionConjunction' = , description_of_origin: 'str | None' = None) -> 'None'", "is_union": false, @@ -77876,6 +79141,7 @@ "pants.backend.python.macros.pipenv_requirements.generate_from_pipenv_requirements", "pants.backend.python.macros.poetry_requirements.generate_from_python_requirement", "pants.backend.python.macros.python_requirements.generate_from_python_requirement", + "pants.backend.python.macros.uv_requirements.generate_from_uv_requirement", "pants.backend.python.target_types_rules.resolve_pex_entry_point", "pants.backend.python.util_rules.ancestor_files.find_ancestor_files", "pants.backend.python.util_rules.entry_points.generate_entry_points_txt", @@ -77893,6 +79159,7 @@ "pants.backend.tools.semgrep.rules.lint", "pants.backend.tools.trufflehog.rules.run_trufflehog", "pants.backend.tools.yamllint.rules.run_yamllint", + "pants.backend.tsx.goals.tailor.find_putative_tsx_targets", "pants.backend.typescript.goals.tailor.find_putative_ts_targets", "pants.bsp.util_rules.targets.materialize_bsp_build_targets", "pants.core.goals.fix.fix_batch", @@ -77928,7 +79195,8 @@ "union_members": [], "union_type": null, "used_in_rules": [ - "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process" + "pants.core.util_rules.adhoc_process_support.prepare_adhoc_process", + "pants.core.util_rules.system_binaries.find_binary" ] }, "pants.engine.fs.Paths": { @@ -78006,6 +79274,8 @@ "pants.backend.swift.goals.tailor.find_putative_targets", "pants.backend.terraform.goals.tailor.find_putative_terraform_module_targets", "pants.backend.tools.semgrep.rules.find_all_semgrep_configs", + "pants.backend.tsx.goals.tailor.find_putative_tsx_targets", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies", "pants.backend.typescript.goals.tailor.find_putative_ts_targets", "pants.core.goals.tailor.edit_build_files", "pants.core.goals.tailor.restrict_conflicting_sources", @@ -78177,6 +79447,7 @@ "pants.backend.experimental.go", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.python.framework.django", + "pants.backend.experimental.typescript", "pants.backend.python.typecheck.mypy" ], "documentation": null, @@ -78199,6 +79470,7 @@ "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies", "pants.engine.internals.graph.find_owners" ] }, @@ -78225,7 +79497,8 @@ "pants.backend.javascript.dependency_inference.rules.infer_node_package_dependencies", "pants.backend.python.dependency_inference.rules.infer_python_conftest_dependencies", "pants.backend.python.dependency_inference.rules.infer_python_init_dependencies", - "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets" + "pants.backend.python.util_rules.pex_from_targets.create_pex_from_targets", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies" ] }, "pants.engine.internals.graph.ResolveAllTargetGeneratorRequests": { @@ -78278,6 +79551,7 @@ "dependencies": [ "pants.backend.experimental.go.debug_goals", "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.typescript", "pants.engine.internals.graph", "pants.engine.internals.mapper", "pants.engine.unions" @@ -78317,8 +79591,8 @@ ], "dependents": [ "pants.backend.experimental.cc", - "pants.backend.experimental.go.lint.vet", - "pants.backend.experimental.javascript" + "pants.backend.experimental.javascript", + "pants.backend.experimental.typescript" ], "documentation": null, "is_union": false, @@ -78543,7 +79817,8 @@ "builtins" ], "dependents": [ - "pants.backend.experimental.javascript.lint.prettier" + "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.typescript" ], "documentation": "NativeParsedJavascriptDependencies(imports: 'dict[str, ParsedJavascriptDependencyCandidate]')", "is_union": false, @@ -78558,7 +79833,8 @@ "union_members": [], "union_type": null, "used_in_rules": [ - "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies" + "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies" ] }, "pants.engine.internals.parametrize._TargetParametrizations": { @@ -78568,6 +79844,7 @@ "pants.backend.experimental.codegen.thrift.scrooge.scala", "pants.backend.experimental.go", "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.typecheck.pyright", "pants.backend.plugin_development", @@ -78577,8 +79854,8 @@ ], "dependents": [ "pants.backend.experimental.go.lint.golangci_lint", - "pants.backend.experimental.go.lint.vet", - "pants.backend.experimental.scala.lint.scalafmt" + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.typescript" ], "documentation": "All parametrizations and generated targets for a single input Address.\n\nIf a Target has been parametrized, the original Target might _not_ be present, due to no Target\nbeing addressable at the un-parameterized Address.", "is_union": false, @@ -78691,12 +79968,13 @@ "pants.backend.python.macros.pipenv_requirements.generate_from_pipenv_requirements", "pants.backend.python.macros.poetry_requirements.generate_from_python_requirement", "pants.backend.python.macros.python_requirements.generate_from_python_requirement", + "pants.backend.python.macros.uv_requirements.generate_from_uv_requirement", "pants.engine.internals.graph._determine_target_adaptor_and_type" ] }, "pants.engine.platform.Platform": { "consumed_by_rules": [ - "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt", + "pants.backend.build_files.fmt.buildifier.rules.buildifier_fmt", "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", @@ -78714,6 +79992,7 @@ "pants.backend.helm.util_rules.tool.setup_helm", "pants.backend.javascript.subsystems.nodejs.determine_nodejs_binaries", "pants.backend.makeself.subsystem.download_makeself_distribution", + "pants.backend.nfpm.rules.package_nfpm_package", "pants.backend.project_info.count_loc.count_loc", "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", "pants.backend.python.providers.pyenv.custom_install.rules.run_pyenv_install", @@ -78729,6 +80008,7 @@ "pants.backend.tools.taplo.rules.taplo_fmt", "pants.backend.tools.trufflehog.rules.run_trufflehog", "pants.backend.visibility.lint.check_visibility_rule_violations", + "pants.core.goals.update_build_files.format_build_file_with_buildifier", "pants.core.target_types.hydrate_file_source", "pants.core.target_types.hydrate_resource_source", "pants.core.util_rules.adhoc_binaries.download_python_binary", @@ -78756,6 +80036,7 @@ "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.python.framework.django", "pants.backend.experimental.python.packaging.pyoxidizer", "pants.backend.experimental.terraform", @@ -78807,13 +80088,14 @@ "pants.backend.experimental.javascript", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", "pants.backend.experimental.scala", "pants.backend.experimental.terraform", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", "pants.backend.python.typecheck.mypy", "pants.backend.scala.lint.scalafix.rules", "pants.backend.shell", @@ -78821,7 +80103,6 @@ "pants.core" ], "dependents": [ - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.codegen.protobuf.lint.buf", "pants.backend.docker.lint.hadolint", @@ -78836,6 +80117,7 @@ "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java", "pants.backend.experimental.java.bsp", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.openapi.lint.spectral", "pants.backend.experimental.python", @@ -78876,7 +80158,7 @@ "returned_by_rules": [ "pants.backend.adhoc.code_quality_tool.process_files", "pants.backend.scala.lint.scalafix.rules._run_scalafix_process", - "pants.engine.intrinsics.process_request_to_process_result" + "pants.engine.intrinsics.execute_process" ], "union_members": [], "union_type": null, @@ -78947,7 +80229,7 @@ "pants.core.goals.update_build_files.format_build_file_with_ruff", "pants.core.util_rules.adhoc_process_support.run_adhoc_process", "pants.core.util_rules.system_binaries.find_binary", - "pants.engine.process.run_proc_with_retry", + "pants.engine.process.execute_process_with_retry", "pants.jvm.jdk_rules.prepare_jdk_environment", "pants.jvm.run.create_run_request" ] @@ -78969,16 +80251,19 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.rust", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", "pants.backend.python.lint.pyupgrade", + "pants.backend.python.lint.yapf", "pants.backend.python.typecheck.mypy", "pants.backend.shell", "pants.backend.terraform.goals.deploy", "pants.backend.url_handlers.s3", "pants.core", + "pants.engine.process", "pants.option.global_options" ], "dependents": [ @@ -78991,8 +80276,7 @@ "name": "InteractiveProcess", "provider": [ "pants.backend.experimental.helm", - "pants.backend.experimental.terraform", - "pants.engine.process" + "pants.backend.experimental.terraform" ], "returned_by_rules": [ "pants.backend.helm.util_rules.renderer.materialize_deployment_process_wrapper_into_interactive_process", @@ -79002,18 +80286,12 @@ "union_type": null, "used_in_rules": [ "pants.backend.helm.goals.deploy.run_helm_deploy", - "pants.backend.terraform.goals.deploy.run_terraform_deploy", - "pants.core.goals.deploy.run_deploy", - "pants.core.goals.export.export", - "pants.core.goals.publish.run_publish", - "pants.core.goals.repl.run_repl", - "pants.core.goals.run.run", - "pants.core.goals.test.run_tests" + "pants.backend.terraform.goals.deploy.run_terraform_deploy" ] }, "pants.engine.process.Process": { "consumed_by_rules": [ - "pants.engine.intrinsics.process_request_to_process_result", + "pants.engine.intrinsics.execute_process", "pants.engine.process.get_multi_platform_request_description" ], "dependencies": [ @@ -79029,10 +80307,13 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", "pants.backend.experimental.python", "pants.backend.experimental.python.framework.stevedore", "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.go.util_rules.sdk", "pants.backend.helm.util_rules.tool", "pants.backend.javascript.nodejs_project_environment", @@ -79046,6 +80327,7 @@ "pants.backend.python.lint.docformatter", "pants.backend.python.lint.isort", "pants.backend.python.lint.pylint", + "pants.backend.python.lint.yapf", "pants.backend.rust.util_rules.toolchains", "pants.backend.terraform.dependency_inference", "pants.backend.terraform.tool", @@ -79125,7 +80407,7 @@ "used_in_rules": [ "pants.backend.adhoc.code_quality_tool.process_files", "pants.backend.adhoc.run_system_binary.create_system_binary_run_request", - "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt", + "pants.backend.build_files.fmt.buildifier.rules.buildifier_fmt", "pants.backend.codegen.protobuf.go.rules.generate_go_from_protobuf", "pants.backend.codegen.protobuf.go.rules.setup_full_package_build_request", "pants.backend.codegen.protobuf.java.rules.generate_java_from_protobuf", @@ -79166,6 +80448,7 @@ "pants.backend.javascript.subsystems.nodejs.prepare_corepack_tool", "pants.backend.javascript.subsystems.nodejs_tool.prepare_tool_process", "pants.backend.makeself.goals.run.create_makeself_archive_run_request", + "pants.backend.nfpm.rules.package_nfpm_package", "pants.backend.openapi.util_rules.generator_process.openapi_generator_process", "pants.backend.project_info.count_loc.count_loc", "pants.backend.python.framework.django.detect_apps.detect_django_apps", @@ -79192,13 +80475,14 @@ "pants.backend.terraform.goals.deploy.prepare_terraform_deployment", "pants.backend.terraform.lint.tfsec.rules.run_tfsec", "pants.backend.tools.taplo.rules.taplo_fmt", + "pants.core.goals.update_build_files.format_build_file_with_buildifier", "pants.core.util_rules.adhoc_binaries.download_python_binary", "pants.core.util_rules.adhoc_process_support.run_adhoc_process", "pants.core.util_rules.archive.create_archive", "pants.core.util_rules.archive.maybe_extract_archive", "pants.core.util_rules.system_binaries.find_binary", "pants.engine.internals.platform_rules.complete_environment_vars", - "pants.engine.process.run_proc_with_retry", + "pants.engine.process.execute_process_with_retry", "pants.jvm.classpath.loose_classfiles", "pants.jvm.jdk_rules.prepare_jdk_environment", "pants.jvm.package.war.package_war", @@ -79251,6 +80535,7 @@ "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.openapi_format", "pants.backend.experimental.python.framework.django", @@ -79282,7 +80567,7 @@ "module": "pants.engine.process", "name": "ProcessResult", "provider": [ - "pants.backend.build_files.fmt.buildifier" + "pants.backend.experimental.java.lint.google_java_format" ], "returned_by_rules": [ "pants.engine.process.fallible_to_exec_result_or_raise" @@ -79291,7 +80576,7 @@ "union_type": null, "used_in_rules": [ "pants.backend.build_files.fmt.black.register.black_fmt", - "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt", + "pants.backend.build_files.fmt.buildifier.rules.buildifier_fmt", "pants.backend.build_files.fmt.yapf.register.yapf_fmt", "pants.backend.cc.lint.clangformat.rules.clangformat_fmt", "pants.backend.codegen.avro.java.rules.compile_avro_source", @@ -79344,6 +80629,7 @@ "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", "pants.backend.makeself.goals.package.package_makeself_binary", "pants.backend.makeself.subsystem.extract_makeself_distribution", + "pants.backend.nfpm.rules.package_nfpm_package", "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java", "pants.backend.openapi.lint.openapi_format.rules.run_openapi_format", "pants.backend.openapi.util_rules.openapi_bundle.bundle_openapi_document", @@ -79382,6 +80668,7 @@ "pants.backend.terraform.lint.tffmt.tffmt.tffmt_fmt", "pants.backend.tools.taplo.rules.taplo_fmt", "pants.core.goals.update_build_files.format_build_file_with_black", + "pants.core.goals.update_build_files.format_build_file_with_buildifier", "pants.core.goals.update_build_files.format_build_file_with_yapf", "pants.core.util_rules.adhoc_binaries.download_python_binary", "pants.core.util_rules.adhoc_process_support.run_adhoc_process", @@ -79427,7 +80714,7 @@ "pants.backend.experimental.helm" ], "returned_by_rules": [ - "pants.engine.process.run_proc_with_retry" + "pants.engine.process.execute_process_with_retry" ], "union_members": [], "union_type": null, @@ -79444,7 +80731,7 @@ }, "pants.engine.process.ProcessWithRetries": { "consumed_by_rules": [ - "pants.engine.process.run_proc_with_retry" + "pants.engine.process.execute_process_with_retry" ], "dependencies": [], "dependents": [ @@ -79492,7 +80779,7 @@ "pants.backend.shell" ], "dependents": [ - "pants.backend.build_files.fmt.buildifier" + "pants.backend.experimental.java.lint.google_java_format" ], "documentation": "ProductDescription(value: 'str')", "is_union": false, @@ -79813,8 +81100,9 @@ "pants.engine.internals.graph.coarsened_targets" ], "dependencies": [ - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", + "pants.backend.experimental.typescript", "pants.engine.addresses" ], "dependents": [ @@ -79847,8 +81135,8 @@ ], "dependencies": [], "dependents": [ - "pants.backend.experimental.go.lint.vet", - "pants.backend.experimental.openapi.lint.openapi_format" + "pants.backend.experimental.openapi.lint.openapi_format", + "pants.backend.experimental.typescript" ], "documentation": "DependenciesRequest(field: 'Dependencies', should_traverse_deps_predicate: 'ShouldTraverseDepsPredicate' = TraverseIfDependenciesField())", "is_union": false, @@ -79932,6 +81220,7 @@ "pants.backend.experimental.helm", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.scala", "pants.backend.python.providers.experimental.pyenv", "pants.core" @@ -79970,6 +81259,8 @@ "list.OptionField", "list.OptionField", "list.OptionField", + "list.OptionField", + "str.OptionField", "str.OptionField", "str.OptionField", "str.OptionField", @@ -80012,7 +81303,6 @@ "pants.backend.codegen.protobuf.python", "pants.backend.codegen.thrift.apache.python", "pants.backend.experimental.cc", - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.debug_goals", @@ -80021,6 +81311,7 @@ "pants.backend.experimental.python.framework.stevedore", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.terraform", + "pants.backend.experimental.typescript", "pants.backend.shell" ], "documentation": "The literal addresses from a BUILD file `dependencies` field.\n\nAlmost always, you should use `await Get(Addresses, DependenciesRequest)` instead, which will\nconsider dependency inference and apply ignores. However, this type can be\nuseful particularly within inference rules to see if a user already explicitly\nprovided a dependency.\n\nResolve using `await Get(ExplicitlyProvidedDependencies, DependenciesRequest)`.\n\nNote that the `includes` are not filtered based on the `ignores`: this type preserves exactly\nwhat was in the BUILD file.", @@ -80149,9 +81440,9 @@ "pants.engine.unions" ], "dependents": [ - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.java.bsp", - "pants.backend.experimental.scala.lint.scalafmt" + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.typescript" ], "documentation": "Generic Field default values. To install a default, see `FieldDefaultFactoryRequest`.\n\nTODO: This is to work around the fact that Field value defaulting cannot have arbitrary\nsubsystem requirements, and so e.g. `JvmResolveField` and `PythonResolveField` have methods\nwhich compute the true value of the field given a subsystem argument. Consumers need to\nbe type aware, and `@rules` cannot have dynamic requirements.\n\nAdditionally, `__defaults__` should mean that computed default Field values should become\nmore rare: i.e. `JvmResolveField` and `PythonResolveField` could potentially move to\nhardcoded default values which users override with `__defaults__` if they'd like to change\nthe default resolve names.\n\nSee https://github.com/pantsbuild/pants/issues/12934 about potentially allowing unions\n(including Field registrations) to have `@rule_helper` methods, which would allow the\ncomputation of an AsyncField to directly require a subsystem. Since\nhttps://github.com/pantsbuild/pants/pull/17947 rules may use any methods as rule helpers without\nspecial decoration so this should now be possible to implement.", "is_union": false, @@ -80178,6 +81469,7 @@ "pants.backend.experimental.adhoc", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.python.packaging.pyoxidizer", "pants.backend.google_cloud_function.python", "pants.core" @@ -80198,6 +81490,8 @@ "pants.backend.docker.util_rules.docker_build_context.create_docker_build_context", "pants.backend.helm.subsystems.post_renderer.setup_post_renderer_launcher", "pants.backend.makeself.goals.package.package_makeself_binary", + "pants.backend.nfpm.util_rules.generate_config.generate_nfpm_yaml", + "pants.backend.nfpm.util_rules.sandbox.populate_nfpm_content_sandbox", "pants.backend.python.packaging.pyoxidizer.rules.package_pyoxidizer_binary", "pants.core.goals.deploy.publish_process_for_target", "pants.core.goals.package.find_all_packageable_targets", @@ -80310,6 +81604,7 @@ "dependents": [ "pants.backend.experimental.go", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", "pants.backend.experimental.scala", "pants.backend.experimental.scala.bsp", "pants.backend.plugin_development", @@ -80330,9 +81625,13 @@ "GenerateFromPoetryRequirementsRequest", "GenerateFromPomXmlRequest", "GenerateFromPythonRequirementsRequest", + "GenerateFromUvRequirementsRequest", "GenerateJvmArtifactForScalaTargets", "GenerateNodePackageTargets", "GenerateTargetsFromGoModRequest", + "GenerateTargetsFromNfpmContentDirsRequest", + "GenerateTargetsFromNfpmContentFilesRequest", + "GenerateTargetsFromNfpmContentSymlinksRequest", "GenerateTargetsFromPexBinaries" ], "union_type": null, @@ -80344,7 +81643,6 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", @@ -80355,12 +81653,14 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python.lint.pylint", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.url_handlers.s3", "pants.engine.environment", @@ -80433,10 +81733,10 @@ "pants.engine.target.GeneratedTargets": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", "pants.backend.build_files.fmt.ruff", "pants.backend.codegen.protobuf.python", "pants.backend.codegen.thrift.apache.python", + "pants.backend.experimental.cc", "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.java", "pants.backend.experimental.javascript", @@ -80445,6 +81745,7 @@ "pants.backend.experimental.scala", "pants.backend.experimental.scala.bsp", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.shell", "pants.base.build_root", "pants.core", @@ -80463,6 +81764,7 @@ "pants.backend.experimental.codegen.thrift.scrooge.scala", "pants.backend.experimental.go", "pants.backend.experimental.javascript.lint.prettier", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.plugin_development", "pants.backend.python" @@ -80470,10 +81772,14 @@ "returned_by_rules": [ "pants.backend.go.target_type_rules.generate_targets_from_go_mod", "pants.backend.javascript.package_json.generate_node_package_targets", + "pants.backend.nfpm.target_types_rules.generate_targets_from_nfpm_content_dirs", + "pants.backend.nfpm.target_types_rules.generate_targets_from_nfpm_content_files", + "pants.backend.nfpm.target_types_rules.generate_targets_from_nfpm_content_symlinks", "pants.backend.plugin_development.pants_requirements.generate_from_pants_requirements", "pants.backend.python.macros.pipenv_requirements.generate_from_pipenv_requirements", "pants.backend.python.macros.poetry_requirements.generate_from_python_requirement", "pants.backend.python.macros.python_requirements.generate_from_python_requirement", + "pants.backend.python.macros.uv_requirements.generate_from_uv_requirement", "pants.backend.python.target_types_rules.generate_targets_from_pex_binaries", "pants.backend.scala.target_types.generate_jvm_artifact_targets", "pants.engine.internals.graph.generate_file_targets", @@ -80605,6 +81911,7 @@ "pants.backend.python.util_rules.python_sources.prepare_python_sources", "pants.backend.shell.dependency_inference.infer_shell_dependencies", "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies", "pants.core.target_types.package_archive_target", "pants.core.target_types.relocate_files", "pants.core.util_rules.source_files.determine_source_files", @@ -80656,11 +81963,13 @@ "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.framework.django", "pants.backend.experimental.python.packaging.pyoxidizer", "pants.backend.experimental.scala.bsp", "pants.backend.experimental.terraform", + "pants.backend.experimental.typescript", "pants.backend.google_cloud_function.python", "pants.backend.project_info", "pants.backend.python", @@ -80699,6 +82008,7 @@ "pants.backend.helm.util_rules.sources.find_chart_source_root", "pants.backend.javascript.dependency_inference.rules.infer_js_source_dependencies", "pants.backend.makeself.goals.package.package_makeself_binary", + "pants.backend.nfpm.util_rules.sandbox.populate_nfpm_content_sandbox", "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi", "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", @@ -80711,6 +82021,7 @@ "pants.backend.python.util_rules.python_sources.prepare_python_sources", "pants.backend.shell.dependency_inference.infer_shell_dependencies", "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies", "pants.core.target_types.package_archive_target", "pants.core.target_types.relocate_files", "pants.core.util_rules.source_files.determine_source_files", @@ -80740,12 +82051,14 @@ "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.kotlin.debug_goals", "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python", "pants.backend.experimental.python.framework.django", "pants.backend.experimental.python.framework.stevedore", "pants.backend.experimental.scala.debug_goals", "pants.backend.experimental.terraform", + "pants.backend.experimental.typescript", "pants.backend.python", "pants.backend.shell" ], @@ -80778,6 +82091,7 @@ "InferKotlinJunitTestDependencyRequest", "InferKotlinRuntimeDependencyRequest", "InferKotlinSourceDependencies", + "InferNfpmPackageScriptsDependencies", "InferNodePackageDependenciesRequest", "InferOpenApiDocumentDependenciesRequest", "InferOpenApiJavaRuntimeDependencyRequest", @@ -80798,7 +82112,8 @@ "InferStevedoreNamespacesDependencies", "InferTerraformDeploymentDependenciesRequest", "InferTerraformModuleDependenciesRequest", - "InferThriftDependencies" + "InferThriftDependencies", + "InferTypeScriptDependenciesRequest" ], "union_type": null, "used_in_rules": [ @@ -80809,8 +82124,6 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", "pants.backend.docker", "pants.backend.experimental.codegen.protobuf.go", @@ -80819,6 +82132,7 @@ "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.java", "pants.backend.experimental.java.bsp", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.kotlin", "pants.backend.experimental.kotlin.debug_goals", @@ -80828,15 +82142,15 @@ "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.debug_goals", "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.tools.trufflehog", "pants.backend.helm.util_rules.chart_metadata", "pants.backend.python.lint.flake8", + "pants.backend.python.lint.yapf", "pants.backend.python.providers.experimental.pyenv", "pants.backend.url_handlers.s3", "pants.engine.addresses" ], "dependents": [ - "pants.backend.experimental.go.lint.vet" + "pants.backend.experimental.typescript" ], "documentation": "InferredDependencies(include: 'Iterable[Address]', *, exclude: 'Iterable[Address]' = ()) -> 'None'", "is_union": false, @@ -80861,11 +82175,13 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.kotlin.lint.ktlint", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.python.framework.django", "pants.backend.experimental.python.framework.stevedore", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.terraform", + "pants.backend.experimental.typescript", "pants.backend.python", "pants.backend.shell" ], @@ -80894,6 +82210,7 @@ "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_dependencies_via_source_analysis", "pants.backend.kotlin.dependency_inference.rules.infer_kotlin_stdlib_dependency", "pants.backend.kotlin.test.junit.infer_kotlin_junit_dependency", + "pants.backend.nfpm.dependency_inference.infer_nfpm_package_scripts_dependencies", "pants.backend.openapi.codegen.java.rules.infer_openapi_java_dependencies", "pants.backend.openapi.dependency_inference.infer_openapi_document_dependencies", "pants.backend.openapi.dependency_inference.infer_openapi_module_dependencies", @@ -80910,7 +82227,8 @@ "pants.backend.scala.dependency_inference.rules.infer_scala_library_dependency", "pants.backend.shell.dependency_inference.infer_shell_dependencies", "pants.backend.terraform.dependency_inference.infer_terraform_deployment_dependencies", - "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies" + "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies" ], "union_members": [], "union_type": null, @@ -81048,6 +82366,7 @@ "pants.backend.experimental.helm", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.scala", "pants.backend.python.providers.experimental.pyenv", "pants.core" @@ -81086,6 +82405,8 @@ "list.OptionField", "list.OptionField", "list.OptionField", + "list.OptionField", + "str.OptionField", "str.OptionField", "str.OptionField", "str.OptionField", @@ -81104,6 +82425,7 @@ "pants.backend.experimental.helm", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.scala", "pants.backend.python.providers.experimental.pyenv", "pants.core" @@ -81142,6 +82464,8 @@ "list.OptionField", "list.OptionField", "list.OptionField", + "list.OptionField", + "str.OptionField", "str.OptionField", "str.OptionField", "str.OptionField", @@ -81634,6 +82958,7 @@ "pants.backend.experimental.helm", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.scala", "pants.backend.python.providers.experimental.pyenv", "pants.core" @@ -81672,6 +82997,8 @@ "list.OptionField", "list.OptionField", "list.OptionField", + "list.OptionField", + "str.OptionField", "str.OptionField", "str.OptionField", "str.OptionField", @@ -81958,7 +83285,7 @@ "module": "pants.engine.target", "name": "SourcesPaths", "provider": [ - "pants.backend.experimental.javascript" + "pants.backend.experimental.typescript" ], "returned_by_rules": [ "pants.engine.internals.graph.resolve_source_paths" @@ -81998,7 +83325,7 @@ ], "dependencies": [], "dependents": [ - "pants.backend.experimental.javascript" + "pants.backend.experimental.typescript" ], "documentation": "A request to resolve the file names of the `source`/`sources` field.\n\nUse via `Get(SourcesPaths, SourcesPathRequest(tgt.get(SourcesField))`.\n\nThis is faster than `Get(HydratedSources, HydrateSourcesRequest)` because it does not snapshot\nthe files and it only resolves the file names.\n\nThis does not consider codegen, and only captures the files from the field. Use\n`HydrateSourcesRequest` to use codegen.", "is_union": false, @@ -82182,16 +83509,16 @@ ], "dependents": [ "pants.backend.experimental.go.lint.golangci_lint", - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.scala.lint.scalafmt" + "pants.backend.experimental.scala.lint.scalafmt", + "pants.backend.experimental.typescript" ], "documentation": null, "is_union": false, "module": "pants.engine.target", "name": "TargetTypesToGenerateTargetsRequests", "provider": [ - "pants.backend.experimental.python.typecheck.pyright" + "pants.backend.experimental.typescript" ], "returned_by_rules": [ "pants.engine.internals.graph.target_types_to_generate_targets_requests" @@ -82215,7 +83542,7 @@ "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.openapi", "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.typescript", "pants.bsp.util_rules.targets", "pants.core", "pants.engine.target", @@ -82249,6 +83576,7 @@ "pants.backend.experimental.scala.bsp", "pants.backend.experimental.scala.debug_goals", "pants.backend.experimental.terraform", + "pants.backend.experimental.typescript", "pants.backend.google_cloud_function.python", "pants.backend.project_info", "pants.backend.python", @@ -82316,6 +83644,7 @@ "pants.backend.terraform.dependency_inference.get_terraform_backend_and_vars", "pants.backend.terraform.dependency_inference.infer_terraform_module_dependencies", "pants.backend.terraform.goals.lockfiles.setup_user_lockfile_requests", + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies", "pants.bsp.util_rules.compile.compile_bsp_target", "pants.bsp.util_rules.resources.resources_bsp_target", "pants.bsp.util_rules.targets.generate_one_bsp_build_target_request", @@ -82436,10 +83765,11 @@ "consumed_by_rules": [], "dependencies": [ "pants.backend.experimental.go.lint.golangci_lint", - "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.java.bsp", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi", + "pants.backend.experimental.typescript", "pants.core", "pants.engine.addresses", "pants.engine.target", @@ -82460,6 +83790,7 @@ "pants.backend.experimental.javascript", "pants.backend.experimental.javascript.lint.prettier", "pants.backend.experimental.kotlin", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.spectral", "pants.backend.experimental.scala.debug_goals", @@ -82500,6 +83831,8 @@ "pants.backend.javascript.goals.test.run_javascript_tests", "pants.backend.javascript.install_node_package.add_sources_to_installed_node_package", "pants.backend.javascript.install_node_package.install_node_packages_for_address", + "pants.backend.nfpm.util_rules.generate_config.generate_nfpm_yaml", + "pants.backend.nfpm.util_rules.sandbox.populate_nfpm_content_sandbox", "pants.backend.openapi.codegen.java.rules.generate_java_from_openapi", "pants.backend.openapi.lint.spectral.rules.run_spectral", "pants.backend.openapi.util_rules.openapi_bundle.bundle_openapi_document", @@ -82637,6 +83970,8 @@ "dependencies": [ "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.javascript", + "pants.backend.experimental.nfpm", + "pants.backend.experimental.typescript", "pants.engine.addresses" ], "dependents": [ @@ -82730,7 +84065,7 @@ "pants.engine.target" ], "dependents": [ - "pants.backend.experimental.go.lint.vet" + "pants.backend.experimental.typescript" ], "documentation": "ValidatedDependencies()", "is_union": false, @@ -82754,12 +84089,13 @@ "consumed_by_rules": [], "dependencies": [ "pants.backend.experimental.openapi.lint.spectral", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.typescript", "pants.core", "pants.engine.target" ], "dependents": [ "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.adhoc", "pants.backend.experimental.codegen.thrift.scrooge.scala", "pants.backend.experimental.go", "pants.backend.experimental.go.debug_goals", @@ -82772,6 +84108,7 @@ "pants.backend.experimental.python.framework.stevedore", "pants.backend.experimental.scala.lint.scalafmt", "pants.backend.experimental.terraform", + "pants.backend.experimental.typescript", "pants.backend.python", "pants.backend.python.lint.pylint", "pants.backend.shell" @@ -82813,6 +84150,7 @@ "pants.backend.shell.util_rules.shell_command.run_shell_command_request", "pants.backend.terraform.dependencies.terraform_init", "pants.backend.terraform.dependencies.terraform_upgrade_lockfile", + "pants.core.util_rules.adhoc_process_support.run_adhoc_process", "pants.engine.internals.graph.hydrate_sources", "pants.engine.internals.graph.resolve_dependencies", "pants.engine.internals.graph.resolve_unexpanded_targets", @@ -82864,6 +84202,7 @@ "pants.backend.shell.util_rules.shell_command.run_shell_command_request", "pants.backend.terraform.dependencies.terraform_init", "pants.backend.terraform.dependencies.terraform_upgrade_lockfile", + "pants.core.util_rules.adhoc_process_support.run_adhoc_process", "pants.core.util_rules.environments.get_target_for_environment_name", "pants.engine.internals.graph.hydrate_sources", "pants.engine.internals.graph.resolve_dependencies", @@ -83006,19 +84345,19 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", + "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.jvm.compile" ], @@ -83076,10 +84415,8 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.codegen.protobuf.java", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", @@ -83091,11 +84428,12 @@ "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.bsp", "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.scala.compile.scalac", "pants.backend.url_handlers.s3", "pants.jvm.resolve.coursier_fetch" @@ -83283,9 +84621,7 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.bsp", "pants.backend.experimental.codegen.protobuf.scala", @@ -83296,12 +84632,14 @@ "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.kotlin", "pants.backend.experimental.makeself", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.nfpm", "pants.backend.experimental.scala", "pants.backend.experimental.scala.debug_goals", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core", "pants.engine.process", @@ -83519,9 +84857,9 @@ "pants.jvm.dependency_inference.symbol_mapper.SymbolMap": { "consumed_by_rules": [], "dependencies": [ - "pants.backend.build_files.fix.deprecations", "pants.backend.codegen.protobuf.python", "pants.backend.codegen.thrift.apache.python", + "pants.backend.experimental.cc", "pants.backend.experimental.codegen.protobuf.scala", "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.codegen.thrift.scrooge.scala", @@ -83823,9 +85161,7 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -83833,9 +85169,11 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -83932,7 +85270,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.adhoc", "pants.backend.experimental.codegen.thrift.scrooge.java", "pants.backend.experimental.debian", @@ -83941,11 +85278,12 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.semgrep", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core", "pants.engine.process", @@ -84241,7 +85579,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.golangci_lint", "pants.backend.experimental.go.lint.vet", @@ -84250,9 +85587,11 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core", "pants.engine.addresses", @@ -84282,7 +85621,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -84290,9 +85628,11 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.jvm.package.war" ], @@ -84431,7 +85771,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -84439,9 +85778,11 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core", "pants.jvm.resolve.common" @@ -84473,10 +85814,8 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fix.deprecations", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", + "pants.backend.experimental.cc", "pants.backend.experimental.codegen.protobuf.java", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", @@ -84486,9 +85825,11 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.jvm.resolve.common", "pants.jvm.resolve.key" @@ -84645,11 +85986,9 @@ "pants.backend.codegen.thrift.scrooge.rules.generate_scrooge_thrift_sources", "pants.backend.java.dependency_inference.java_parser.analyze_java_source_dependencies", "pants.backend.java.dependency_inference.java_parser.build_processors", - "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt", "pants.backend.kotlin.compile.kotlinc.compile_kotlin_source", "pants.backend.kotlin.dependency_inference.kotlin_parser.analyze_kotlin_source_dependencies", "pants.backend.kotlin.dependency_inference.kotlin_parser.setup_kotlin_parser_classfiles", - "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt", "pants.backend.openapi.util_rules.generator_process.openapi_generator_process", "pants.backend.scala.bsp.rules.bsp_resolve_scala_metadata", "pants.backend.scala.compile.scalac.compile_scala_source", @@ -84657,8 +85996,6 @@ "pants.backend.scala.dependency_inference.scala_parser.analyze_scala_source_dependencies", "pants.backend.scala.dependency_inference.scala_parser.setup_scala_parser_classfiles", "pants.backend.scala.goals.repl.create_scala_repl_request", - "pants.backend.scala.lint.scalafix.rules._partition_scalafix", - "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt", "pants.backend.scala.test.scalatest.setup_scalatest_for_target", "pants.jvm.jar_tool.jar_tool.build_jar_tool", "pants.jvm.jar_tool.jar_tool.run_jar_tool", @@ -84676,7 +86013,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -84685,10 +86021,13 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", "pants.backend.python.lint.isort", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -84784,7 +86123,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -84792,9 +86130,11 @@ "pants.backend.experimental.java.bsp", "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.engine.target" ], @@ -84906,9 +86246,7 @@ "consumed_by_rules": [], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -84917,9 +86255,11 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.jvm.shading.rules" ], @@ -84950,9 +86290,7 @@ ], "dependencies": [ "builtins", - "pants.backend.build_files.fmt.buildifier", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go.lint.vet", "pants.backend.experimental.helm.check.kubeconform", @@ -84961,10 +86299,12 @@ "pants.backend.experimental.java.debug_goals", "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", "pants.backend.experimental.scala", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.scala.lint.scalafix", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3" ], "dependents": [ @@ -85310,7 +86650,6 @@ "dependencies": [ "builtins", "pants.backend.build_files.fmt.ruff", - "pants.backend.docker.lint.hadolint", "pants.backend.experimental.debian", "pants.backend.experimental.go", "pants.backend.experimental.go.lint.vet", @@ -85321,10 +86660,12 @@ "pants.backend.experimental.java.lint.google_java_format", "pants.backend.experimental.javascript", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi.codegen.java", - "pants.backend.experimental.python.typecheck.pyright", + "pants.backend.experimental.scala.lint.scalafix", "pants.backend.experimental.scala.lint.scalafmt", - "pants.backend.experimental.tools.trufflehog", + "pants.backend.experimental.typescript", + "pants.backend.python.lint.yapf", "pants.backend.url_handlers.s3", "pants.core", "pants.jvm.test.junit" @@ -85405,6 +86746,7 @@ "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", "pants.backend.shell.shunit2_test_runner.run_tests_with_shunit2", "pants.backend.tools.semgrep.rules.lint", + "pants.backend.url_handlers.s3.register.download_from_s3", "pants.core.goals.generate_lockfiles.generate_lockfiles_goal", "pants.core.goals.run.run", "pants.core.util_rules.distdir.get_distdir", @@ -85432,6 +86774,7 @@ "pants.backend.python", "pants.backend.python.typecheck.mypy", "pants.backend.shell", + "pants.backend.url_handlers.s3", "pants.core" ], "documentation": null, @@ -85459,7 +86802,8 @@ ], "dependents": [ "pants.backend.experimental.javascript", - "pants.backend.experimental.openapi.codegen.java" + "pants.backend.experimental.openapi.codegen.java", + "pants.backend.experimental.typescript" ], "documentation": "What to do when globs do not match in BUILD files.", "is_union": false, @@ -85572,6 +86916,7 @@ "construct_scope_makeself", "construct_scope_mypy", "construct_scope_mypy_protobuf", + "construct_scope_nfpm", "construct_scope_nodejs", "construct_scope_nodejs_infer", "construct_scope_nodejs_test", @@ -85948,7 +87293,6 @@ "pants.backend.python.goals.package_dists.package_python_dist", "pants.backend.python.goals.tailor.find_putative_targets", "pants.backend.python.util_rules.local_dists_pep660.isolate_local_dist_pep660_wheels", - "pants.backend.scala.lint.scalafix.rules.scalafix_fix", "pants.bsp.util_rules.targets.resolve_bsp_build_target_source_roots", "pants.core.util_rules.stripped_source_files.strip_source_roots", "pants.source.source_root.get_source_roots" @@ -86288,6 +87632,12 @@ "name": "pants.backend.experimental.makeself", "provider": "pants" }, + "pants.backend.experimental.nfpm": { + "description": "Create apk, archlinux, deb, and rpm system packages.\n\nSee https://nfpm.goreleaser.com/ for details on nFPM, including these descriptions of it:\n - nFPM is \"effing simple package management\"\n - \"nFPM is Not FPM--a zero dependencies, simple deb, rpm, apk, and arch linux packager written in Go.\"", + "enabled": true, + "name": "pants.backend.experimental.nfpm", + "provider": "pants" + }, "pants.backend.experimental.openapi": { "description": "", "enabled": true, @@ -86639,7 +87989,7 @@ "signature": ": Version" }, "__defaults__": { - "documentation": "Provide default field values.\n\nLearn more https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files#field-default-values", + "documentation": "Provide default field values.\n\nLearn more https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files#field-default-values", "is_target": false, "name": "__defaults__", "signature": "(*args: 'SetDefaultsT', ignore_unknown_fields: 'bool' = False, ignore_unknown_targets: 'bool' = False, **kwargs) -> 'None'" @@ -86741,7 +88091,7 @@ "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, "debian_package": { - "documentation": "A Debian package containing an artifact.\n\nThis will not install the package, only create a `.deb` file that you can then distribute and install, e.g. via `dpkg`.\n\nSee https://www.pantsbuild.org/2.23/reference/targets/debian_package.", + "documentation": "A Debian package containing an artifact.\n\nThis will not install the package, only create a `.deb` file that you can then distribute and install, e.g. via `dpkg`.\n\nSee https://www.pantsbuild.org/2.24/reference/targets/debian_package.", "is_target": true, "name": "debian_package", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" @@ -87034,6 +88384,66 @@ "name": "makeself_archive", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, + "nfpm_apk_package": { + "documentation": "An APK system package (Alpine Package Keeper) built by nFPM.\n\nThis will not install the package, only create an .apk file that you can then distribute and install, e.g. via pkg.\n\nSee https://www.pantsbuild.org/nfpm-apk-package.", + "is_target": true, + "name": "nfpm_apk_package", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "nfpm_archlinux_package": { + "documentation": "An Archlinux system package built by nFPM.\n\nThis will not install the package, only create an .tar.zst file that you can then distribute and install, e.g. via pkg.\n\nSee https://www.pantsbuild.org/nfpm-archlinux-package.", + "is_target": true, + "name": "nfpm_archlinux_package", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "nfpm_content_dir": { + "documentation": "A directory in an nFPM package (created on package install).", + "is_target": true, + "name": "nfpm_content_dir", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "nfpm_content_dirs": { + "documentation": "Multiple directories in an nFPM package (created on package install).", + "is_target": true, + "name": "nfpm_content_dirs", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "nfpm_content_file": { + "documentation": "A file (of any type) that should be copied into an nFPM package.\n\nThe file comes from either the 'source' field or from any of the targets listed in the 'dependencies' field. The file may be a workspace file, a generated file, or even a package.\n\nThe '' field tells nFPM where the file is in the sandbox. The '' field tells nFPM where the file should be installed by the nFPM-generated package.", + "is_target": true, + "name": "nfpm_content_file", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "nfpm_content_files": { + "documentation": "Multiple files that should be copied into an nFPM package.\n\nPass the list of ('src', 'dst') file tuples in the 'files' field. The 'src' files must be provided by or generated by the targets in 'dependencies'.", + "is_target": true, + "name": "nfpm_content_files", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "nfpm_content_symlink": { + "documentation": "A symlink in an nFPM package (created on package install).", + "is_target": true, + "name": "nfpm_content_symlink", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "nfpm_content_symlinks": { + "documentation": "Multiple symlinks in an nFPM package (created on package install).\n\nPass the list of ('src', 'dst') symlink tuples in the 'symlinks' field.\n\nNote that 'src' is commonly known as the symlink \"target\" and 'dst' is the path to the symlink itself, also known as the symlink \"name\".", + "is_target": true, + "name": "nfpm_content_symlinks", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "nfpm_deb_package": { + "documentation": "A Debian system package built by nFPM.\n\nThis will not install the package, only create a .deb file that you can then distribute and install, e.g. via pkg.\n\nSee https://www.pantsbuild.org/nfpm-deb-package.", + "is_target": true, + "name": "nfpm_deb_package", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "nfpm_rpm_package": { + "documentation": "An RPM system package built by nFPM.\n\nThis will not install the package, only create an .rpm file that you can then distribute and install, e.g. via pkg.\n\nSee https://www.pantsbuild.org/nfpm-rpm-package.", + "is_target": true, + "name": "nfpm_rpm_package", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, "node_build_script": { "documentation": "A build script, mapped from the `scripts` section of a package.json file.\n\nEither the `output_directories` or the `output_files` argument has to be set to capture the output artifacts of the build.", "is_target": false, @@ -87119,7 +88529,7 @@ "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, "pex_binary": { - "documentation": "A Python target that can be converted into an executable PEX file.\n\nPEX files are self-contained executable files that contain a complete Python environment capable of running the target. For more information, see https://www.pantsbuild.org/2.23/docs/python/overview/pex.", + "documentation": "A Python target that can be converted into an executable PEX file.\n\nPEX files are self-contained executable files that contain a complete Python environment capable of running the target. For more information, see https://www.pantsbuild.org/2.24/docs/python/overview/pex.", "is_target": true, "name": "pex_binary", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" @@ -87137,7 +88547,7 @@ "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, "protobuf_source": { - "documentation": "A single Protobuf file used to generate various languages.\n\nSee language-specific docs:\n Python: https://www.pantsbuild.org/2.23/docs/python/integrations/protobuf-and-grpc\n Go: https://www.pantsbuild.org/2.23/docs/go/integrations/protobuf", + "documentation": "A single Protobuf file used to generate various languages.\n\nSee language-specific docs:\n Python: https://www.pantsbuild.org/2.24/docs/python/integrations/protobuf-and-grpc\n Go: https://www.pantsbuild.org/2.24/docs/go/integrations/protobuf", "is_target": true, "name": "protobuf_source", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" @@ -87149,7 +88559,7 @@ "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, "pyoxidizer_binary": { - "documentation": "A single-file Python executable with a Python interpreter embedded, built via PyOxidizer.\n\nTo use this target, first create a `python_distribution` target with the code you want included in your binary, per https://www.pantsbuild.org/2.23/docs/python/overview/building-distributions. Then add this `python_distribution` target to the `dependencies` field. See the `help` for `dependencies` for more information.\n\nYou may optionally want to set the `entry_point` field. For advanced use cases, you can use a custom PyOxidizer config file, rather than what Pants generates, by setting the `template` field. You may also want to set `[pyoxidizer].args` to a value like `['--release']`.", + "documentation": "A single-file Python executable with a Python interpreter embedded, built via PyOxidizer.\n\nTo use this target, first create a `python_distribution` target with the code you want included in your binary, per https://www.pantsbuild.org/2.24/docs/python/overview/building-distributions. Then add this `python_distribution` target to the `dependencies` field. See the `help` for `dependencies` for more information.\n\nYou may optionally want to set the `entry_point` field. For advanced use cases, you can use a custom PyOxidizer config file, rather than what Pants generates, by setting the `template` field. You may also want to set `[pyoxidizer].args` to a value like `['--release']`.", "is_target": true, "name": "pyoxidizer_binary", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" @@ -87161,31 +88571,31 @@ "signature": "(**kwargs) -> None" }, "python_aws_lambda_function": { - "documentation": "A self-contained Python function suitable for uploading to AWS Lambda.\n\nSee https://www.pantsbuild.org/2.23/docs/python/integrations/aws-lambda.", + "documentation": "A self-contained Python function suitable for uploading to AWS Lambda.\n\nSee https://www.pantsbuild.org/2.24/docs/python/integrations/aws-lambda.", "is_target": true, "name": "python_aws_lambda_function", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, "python_aws_lambda_layer": { - "documentation": "A Python layer suitable for uploading to AWS Lambda.\n\nSee https://www.pantsbuild.org/2.23/docs/python/integrations/aws-lambda.", + "documentation": "A Python layer suitable for uploading to AWS Lambda.\n\nSee https://www.pantsbuild.org/2.24/docs/python/integrations/aws-lambda.", "is_target": true, "name": "python_aws_lambda_layer", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, "python_distribution": { - "documentation": "A publishable Python setuptools distribution (e.g. an sdist or wheel).\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/building-distributions.", + "documentation": "A publishable Python setuptools distribution (e.g. an sdist or wheel).\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/building-distributions.", "is_target": true, "name": "python_distribution", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, "python_google_cloud_function": { - "documentation": "A self-contained Python function suitable for uploading to Google Cloud Function.\n\nSee https://www.pantsbuild.org/2.23/docs/python/integrations/google-cloud-functions.", + "documentation": "A self-contained Python function suitable for uploading to Google Cloud Function.\n\nSee https://www.pantsbuild.org/2.24/docs/python/integrations/google-cloud-functions.", "is_target": true, "name": "python_google_cloud_function", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, "python_requirement": { - "documentation": "A Python requirement installable by pip.\n\nThis target is useful when you want to declare Python requirements inline in a BUILD file. If you have a `requirements.txt` file already, you can instead use the target generator `python_requirements` to convert each requirement into a `python_requirement` target automatically. For Poetry, use `poetry_requirements`.\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/third-party-dependencies.", + "documentation": "A Python requirement installable by pip.\n\nThis target is useful when you want to declare Python requirements inline in a BUILD file. If you have a `requirements.txt` file already, you can instead use the target generator `python_requirements` to convert each requirement into a `python_requirement` target automatically. For Poetry, use `poetry_requirements`.\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/third-party-dependencies.", "is_target": true, "name": "python_requirement", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" @@ -87209,7 +88619,7 @@ "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, "python_test": { - "documentation": "A single Python test file, written in either Pytest style or unittest style.\n\nAll test util code, including `conftest.py`, should go into a dedicated `python_source` target and then be included in the `dependencies` field. (You can use the `python_test_utils` target to generate these `python_source` targets.)\n\nSee https://www.pantsbuild.org/2.23/docs/python/goals/test", + "documentation": "A single Python test file, written in either Pytest style or unittest style.\n\nAll test util code, including `conftest.py`, should go into a dedicated `python_source` target and then be included in the `dependencies` field. (You can use the `python_test_utils` target to generate these `python_source` targets.)\n\nSee https://www.pantsbuild.org/2.24/docs/python/goals/test", "is_target": true, "name": "python_test", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" @@ -87443,7 +88853,7 @@ "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, "thrift_source": { - "documentation": "A single Thrift file used to generate various languages.\n\nSee language-specific docs:\n Python: https://www.pantsbuild.org/2.23/docs/python/integrations/thrift", + "documentation": "A single Thrift file used to generate various languages.\n\nSee language-specific docs:\n Python: https://www.pantsbuild.org/2.24/docs/python/integrations/thrift", "is_target": true, "name": "thrift_source", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" @@ -87454,6 +88864,30 @@ "name": "thrift_sources", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, + "tsx_source": { + "documentation": "A single TSX source file.", + "is_target": true, + "name": "tsx_source", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "tsx_sources": { + "documentation": "Generate a `tsx_source` target for each file in the `sources` field.", + "is_target": true, + "name": "tsx_sources", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "tsx_test": { + "documentation": "A single TSX test file.", + "is_target": true, + "name": "tsx_test", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, + "tsx_tests": { + "documentation": "Generate a `tsx_test` target for each file in the `sources` field.", + "is_target": true, + "name": "tsx_tests", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, "typescript_source": { "documentation": "A single TypeScript source file.", "is_target": true, @@ -87478,6 +88912,12 @@ "name": "typescript_tests", "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" }, + "uv_requirements": { + "documentation": "Generate a `python_requirement` for each entry in `pyproject.toml` under the `[tool.uv]` section.", + "is_target": true, + "name": "uv_requirements", + "signature": "(**kwargs: 'Any') -> 'TargetAdaptor'" + }, "vcs_version": { "documentation": "Generates a version string from VCS state.\n\nUses a constrained but useful subset of the full functionality of setuptools_scm (https://github.com/pypa/setuptools_scm). These constraints avoid pitfalls in the interaction of setuptools_scm with Pants's hermetic environments.\n\nIn particular, we ignore any existing setuptools_scm config. Instead you must provide a subset of that config in this target's fields.\n\nIf you need functionality that is not currently exposed here, please reach out to us at https://www.pantsbuild.org/community/getting-help.", "is_target": true, @@ -87500,7 +88940,7 @@ }, "complete": { "consumed_scopes": [], - "description": "Generates a completion script for the specified shell. The script is printed to stdout.\n\nFor example, `pants complete --zsh > pants-completions.zsh` will generate a zsh completion script and write it to the file `my-pants-completions.zsh`. You can then source this file in your `.zshrc` file to enable completion for Pants.\n\nThis command is also used by the completion scripts to generate the completion options using passthrough options. This usage is not intended for use by end users, but could be useful for building custom completion scripts.\n\nAn example of this usage is in the bash completion script, where we use the following command: `pants complete -- ${COMP_WORDS[@]}`. This will generate the completion options for the current args, and then pass them to the bash completion script.", + "description": "Generates a completion script for the specified shell. The script is printed to stdout.\n\nFor example, `pants complete --shell=zsh > pants-completions.zsh` will generate a zsh completion script and write it to the file `my-pants-completions.zsh`. You can then source this file in your `.zshrc` file to enable completion for Pants.\n\nThis command is also used by the completion scripts to generate the completion options using passthrough options. This usage is not intended for use by end users, but could be useful for building custom completion scripts.\n\nAn example of this usage is in the bash completion script, where we use the following command: `pants complete -- ${COMP_WORDS[@]}`. This will generate the completion options for the current args, and then pass them to the bash completion script.", "is_implemented": true, "name": "complete", "provider": "pants.goal" @@ -87962,7 +89402,7 @@ "filter", "update-build-files" ], - "description": "Format and fix safe deprecations in BUILD files.\n\nThis does not handle the full Pants upgrade. You must still manually change `pants_version` in `pants.toml` and you may need to manually address some deprecations. See https://www.pantsbuild.org/2.23/docs/releases/upgrade-tips for upgrade tips.", + "description": "Format and fix safe deprecations in BUILD files.\n\nThis does not handle the full Pants upgrade. You must still manually change `pants_version` in `pants.toml` and you may need to manually address some deprecations. See https://www.pantsbuild.org/2.24/docs/releases/upgrade-tips for upgrade tips.", "is_implemented": true, "name": "update-build-files", "provider": "pants.core" @@ -88046,6 +89486,20 @@ "output_type": "EnvironmentAware", "provider": "pants.backend.experimental.java" }, + "construct_env_aware_scope_nfpm": { + "awaitables": [ + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + ], + "description": null, + "documentation": null, + "input_types": [ + "NfpmSubsystem", + "EnvironmentTarget" + ], + "name": "construct_env_aware_scope_nfpm", + "output_type": "EnvironmentAware", + "provider": "pants.backend.experimental.nfpm" + }, "construct_env_aware_scope_nodejs": { "awaitables": [ "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" @@ -88188,7 +89642,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "The add-trailing-comma Python code formatter (https://github.com/asottile/add-trailing-comma).\n\nThis version of Pants uses `add-trailing-comma` version 2.4.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "The add-trailing-comma Python code formatter (https://github.com/asottile/add-trailing-comma).\n\nThis version of Pants uses `add-trailing-comma` version 2.5.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_add_trailing_comma", "output_type": "AddTrailingComma", @@ -88221,7 +89675,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "The Autoflake Python code formatter (https://github.com/myint/autoflake).\n\nThis version of Pants uses `autoflake` version 2.1.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "The Autoflake Python code formatter (https://github.com/myint/autoflake).\n\nThis version of Pants uses `autoflake` version 2.3.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_autoflake", "output_type": "Autoflake", @@ -88243,7 +89697,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "A tool for finding security issues in Python code (https://bandit.readthedocs.io).\n\nThis version of Pants uses `bandit` version 1.7.5 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "A tool for finding security issues in Python code (https://bandit.readthedocs.io).\n\nThis version of Pants uses `bandit` version 1.7.9 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_bandit", "output_type": "Bandit", @@ -88254,7 +89708,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "The Black Python code formatter (https://black.readthedocs.io/).\n\nThis version of Pants uses `black` version 23.3.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "The Black Python code formatter (https://black.readthedocs.io/).\n\nThis version of Pants uses `black` version 23.12.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_black", "output_type": "Black", @@ -88375,7 +89829,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "Configuration for Python test coverage measurement.\n\nThis version of Pants uses `coverage` version 7.2.7 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "Configuration for Python test coverage measurement.\n\nThis version of Pants uses `coverage` version 7.6.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_coverage_py", "output_type": "CoverageSubsystem", @@ -88463,7 +89917,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "Used to parse Dockerfile build specs to infer their dependencies.\n\nThis version of Pants uses `dockerfile` version 3.2.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "Used to parse Dockerfile build specs to infer their dependencies.\n\nThis version of Pants uses `dockerfile` version 3.3.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_dockerfile_parser", "output_type": "DockerfileParser", @@ -88782,7 +90236,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "Used perform modifications to the final output produced by Helm charts when they've been fully rendered.\n\nThis version of Pants uses `yamlpath` version 3.8.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "Used perform modifications to the final output produced by Helm charts when they've been fully rendered.\n\nThis version of Pants uses `yamlpath` version 3.8.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_helm_post_renderer", "output_type": "HelmPostRendererSubsystem", @@ -88804,7 +90258,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "The IPython enhanced REPL (https://ipython.org/).\n\nThis version of Pants uses `ipython` version 7.34.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "The IPython enhanced REPL (https://ipython.org/).\n\nThis version of Pants uses `ipython` version 8.12.3 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_ipython", "output_type": "IPython", @@ -88815,7 +90269,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "The Python import sorter tool (https://pycqa.github.io/isort/).\n\nThis version of Pants uses `isort` version 5.11.5 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "The Python import sorter tool (https://pycqa.github.io/isort/).\n\nThis version of Pants uses `isort` version 5.13.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_isort", "output_type": "Isort", @@ -89002,7 +90456,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "Ktlint, the anti-bikeshedding Kotlin linter with built-in formatter (https://ktlint.github.io/)", + "documentation": "Ktlint, the anti-bikeshedding Kotlin linter with built-in formatter (https://pinterest.github.io/ktlint/)", "input_types": [], "name": "construct_scope_ktlint", "output_type": "KtlintSubsystem", @@ -89057,7 +90511,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "The MyPy Python type checker (http://mypy-lang.org/).\n\nThis version of Pants uses `mypy` version 1.4.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "The MyPy Python type checker (http://mypy-lang.org/).\n\nThis version of Pants uses `mypy` version 1.11.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_mypy", "output_type": "MyPy", @@ -89068,12 +90522,23 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "Configuration of the mypy-protobuf type stub generation plugin.\n\nThis version of Pants uses `mypy-protobuf` version 3.4.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "Configuration of the mypy-protobuf type stub generation plugin.\n\nThis version of Pants uses `mypy-protobuf` version 3.6.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_mypy_protobuf", "output_type": "PythonProtobufMypyPlugin", "provider": "pants.backend.codegen.protobuf.python" }, + "construct_scope_nfpm": { + "awaitables": [ + "Get(ScopedOptions, Scope, ..)" + ], + "description": null, + "documentation": "The nFPM deb, rpm, apk, and archlinux packager (https://nfpm.goreleaser.com).", + "input_types": [], + "name": "construct_scope_nfpm", + "output_type": "NfpmSubsystem", + "provider": "pants.backend.experimental.nfpm" + }, "construct_scope_nodejs": { "awaitables": [ "Get(ScopedOptions, Scope, ..)" @@ -89299,7 +90764,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "The Pylint linter for Python code (https://www.pylint.org/).\n\nThis version of Pants uses `pylint` version 2.13.9 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "The Pylint linter for Python code (https://www.pylint.org/).\n\nThis version of Pants uses `pylint` version 2.17.7 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_pylint", "output_type": "Pylint", @@ -89409,7 +90874,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "Options related to the Protobuf Python backend.\n\nSee https://www.pantsbuild.org/2.23/docs/python/integrations/protobuf-and-grpc.", + "documentation": "Options related to the Protobuf Python backend.\n\nSee https://www.pantsbuild.org/2.24/docs/python/integrations/protobuf-and-grpc.", "input_types": [], "name": "construct_scope_python_protobuf", "output_type": "PythonProtobufSubsystem", @@ -89453,7 +90918,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "Upgrade syntax for newer versions of the language (https://github.com/asottile/pyupgrade).\n\nThis version of Pants uses `pyupgrade` version 3.3.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "Upgrade syntax for newer versions of the language (https://github.com/asottile/pyupgrade).\n\nThis version of Pants uses `pyupgrade` version 3.8.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_pyupgrade", "output_type": "PyUpgrade", @@ -89508,7 +90973,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "The Ruff Python formatter (https://github.com/astral-sh/ruff).\n\nThis version of Pants uses `ruff` version 0.4.9 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "The Ruff Python formatter (https://github.com/astral-sh/ruff).\n\nThis version of Pants uses `ruff` version 0.6.4 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_ruff", "output_type": "Ruff", @@ -89673,7 +91138,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "Lightweight static analysis for many languages. Find bug variants with patterns that look like source code. (https://semgrep.dev/)\n\nPants automatically finds config files (`.semgrep.yml`, `.semgrep.yaml`, and `.yml` or `.yaml` files within `.semgrep/` directories), and runs semgrep against all _targets_ known to Pants.\n\nThis version of Pants uses `semgrep` version 1.72.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "Lightweight static analysis for many languages. Find bug variants with patterns that look like source code. (https://semgrep.dev/)\n\nPants automatically finds config files (`.semgrep.yml`, `.semgrep.yaml`, and `.yml` or `.yaml` files within `.semgrep/` directories), and runs semgrep against all _targets_ known to Pants.\n\nThis version of Pants uses `semgrep` version 1.86.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_semgrep", "output_type": "SemgrepSubsystem", @@ -89695,7 +91160,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "Python setuptools, used to package `python_distribution` targets.\n\nThis version of Pants uses `setuptools` version 63.4.3 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "Python setuptools, used to package `python_distribution` targets.\n\nThis version of Pants uses `setuptools` version 74.1.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_setuptools", "output_type": "Setuptools", @@ -89882,7 +91347,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "Used to parse Terraform modules to infer their dependencies.\n\nThis version of Pants uses `python-hcl2` version 4.3.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "Used to parse Terraform modules to infer their dependencies.\n\nThis version of Pants uses `python-hcl2` version 4.3.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_terraform_hcl2_parser", "output_type": "TerraformHcl2Parser", @@ -89959,7 +91424,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "Format and fix safe deprecations in BUILD files.\n\nThis does not handle the full Pants upgrade. You must still manually change `pants_version` in `pants.toml` and you may need to manually address some deprecations. See https://www.pantsbuild.org/2.23/docs/releases/upgrade-tips for upgrade tips.", + "documentation": "Format and fix safe deprecations in BUILD files.\n\nThis does not handle the full Pants upgrade. You must still manually change `pants_version` in `pants.toml` and you may need to manually address some deprecations. See https://www.pantsbuild.org/2.24/docs/releases/upgrade-tips for upgrade tips.", "input_types": [], "name": "construct_scope_update_build_files", "output_type": "UpdateBuildFilesSubsystem", @@ -89992,7 +91457,7 @@ "Get(ScopedOptions, Scope, ..)" ], "description": null, - "documentation": "A linter for YAML files (https://yamllint.readthedocs.io)\n\nThis version of Pants uses `yamllint` version 1.32.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "documentation": "A linter for YAML files (https://yamllint.readthedocs.io)\n\nThis version of Pants uses `yamllint` version 1.35.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "input_types": [], "name": "construct_scope_yamllint", "output_type": "Yamllint", @@ -90206,7 +91671,7 @@ "output_type": "FixResult", "provider": "pants.backend.build_files.fmt.black" }, - "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt": { + "pants.backend.build_files.fmt.buildifier.rules.buildifier_fmt": { "awaitables": [ "Get(DownloadedExternalTool)", "Get(Digest)", @@ -90220,7 +91685,7 @@ "Buildifier", "Platform" ], - "name": "pants.backend.build_files.fmt.buildifier.rules.buildfier_fmt", + "name": "pants.backend.build_files.fmt.buildifier.rules.buildifier_fmt", "output_type": "FixResult", "provider": "pants.backend.build_files.fmt.buildifier" }, @@ -92840,12 +94305,14 @@ "pants.backend.go.util_rules.sdk.setup_go_sdk_process": { "awaitables": [ "Get(Digest, MergeDigests, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", + "Get(BinaryShims, BinaryShimsRequest, ..)" ], "description": null, "documentation": null, "input_types": [ "GoSdkProcess", + "GoBootstrap", "GoSdkRunSetup", "BashBinary", "EnvironmentAware", @@ -93117,7 +94584,8 @@ "description": "Find the dependencies needed by a Helm deployment", "documentation": null, "input_types": [ - "InferHelmDeploymentDependenciesRequest" + "InferHelmDeploymentDependenciesRequest", + "HelmInferSubsystem" ], "name": "pants.backend.helm.dependency_inference.deployment.inject_deployment_dependencies", "output_type": "InferredDependencies", @@ -93986,7 +95454,7 @@ }, "pants.backend.java.lint.google_java_format.rules.google_java_format_fmt": { "awaitables": [ - "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(ToolClasspath)", "Get(ProcessResult, JvmProcess, ..)", "Get(Snapshot, Digest, ..)" ], @@ -94937,7 +96405,7 @@ }, "pants.backend.kotlin.lint.ktlint.rules.ktlint_fmt": { "awaitables": [ - "Get(ToolClasspath, ToolClasspathRequest, ..)", + "Get(ToolClasspath)", "Get(ProcessResult, JvmProcess, ..)", "Get(Snapshot, Digest, ..)" ], @@ -95110,6 +96578,168 @@ "output_type": "BinaryShimsRequest", "provider": "pants.backend.experimental.makeself" }, + "pants.backend.nfpm.dependency_inference.infer_nfpm_package_scripts_dependencies": { + "awaitables": [ + "Get(Addresses)" + ], + "description": "Infer dependencies based on nfpm `scripts` field.", + "documentation": null, + "input_types": [ + "InferNfpmPackageScriptsDependencies" + ], + "name": "pants.backend.nfpm.dependency_inference.infer_nfpm_package_scripts_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.nfpm" + }, + "pants.backend.nfpm.rules.package_nfpm_apk_package": { + "awaitables": [ + "Get(BuiltPackage)" + ], + "description": null, + "documentation": null, + "input_types": [ + "NfpmApkPackageFieldSet" + ], + "name": "pants.backend.nfpm.rules.package_nfpm_apk_package", + "output_type": "BuiltPackage", + "provider": "pants.backend.experimental.nfpm" + }, + "pants.backend.nfpm.rules.package_nfpm_archlinux_package": { + "awaitables": [ + "Get(BuiltPackage)" + ], + "description": null, + "documentation": null, + "input_types": [ + "NfpmArchlinuxPackageFieldSet" + ], + "name": "pants.backend.nfpm.rules.package_nfpm_archlinux_package", + "output_type": "BuiltPackage", + "provider": "pants.backend.experimental.nfpm" + }, + "pants.backend.nfpm.rules.package_nfpm_deb_package": { + "awaitables": [ + "Get(BuiltPackage)" + ], + "description": null, + "documentation": null, + "input_types": [ + "NfpmDebPackageFieldSet" + ], + "name": "pants.backend.nfpm.rules.package_nfpm_deb_package", + "output_type": "BuiltPackage", + "provider": "pants.backend.experimental.nfpm" + }, + "pants.backend.nfpm.rules.package_nfpm_package": { + "awaitables": [ + "Get(NfpmContentSandbox)", + "Get(NfpmPackageConfig)", + "Get(DownloadedExternalTool)", + "Get(Digest)", + "Get(Digest)", + "Get(ProcessResult, Process, ..)", + "Get(Digest)", + "Get(Snapshot, AddPrefix, ..)" + ], + "description": null, + "documentation": null, + "input_types": [ + "NfpmPackageRequest", + "NfpmSubsystem", + "Platform" + ], + "name": "pants.backend.nfpm.rules.package_nfpm_package", + "output_type": "BuiltPackage", + "provider": "pants.backend.experimental.nfpm" + }, + "pants.backend.nfpm.rules.package_nfpm_rpm_package": { + "awaitables": [ + "Get(BuiltPackage)" + ], + "description": null, + "documentation": null, + "input_types": [ + "NfpmRpmPackageFieldSet" + ], + "name": "pants.backend.nfpm.rules.package_nfpm_rpm_package", + "output_type": "BuiltPackage", + "provider": "pants.backend.experimental.nfpm" + }, + "pants.backend.nfpm.target_types_rules.generate_targets_from_nfpm_content_dirs": { + "awaitables": [], + "description": "Generate `nfpm_content_dir` targets from `nfpm_content_dirs` target", + "documentation": null, + "input_types": [ + "GenerateTargetsFromNfpmContentDirsRequest", + "UnionMembership" + ], + "name": "pants.backend.nfpm.target_types_rules.generate_targets_from_nfpm_content_dirs", + "output_type": "GeneratedTargets", + "provider": "pants.backend.experimental.nfpm" + }, + "pants.backend.nfpm.target_types_rules.generate_targets_from_nfpm_content_files": { + "awaitables": [], + "description": "Generate `nfpm_content_file` targets from `nfpm_content_files` target", + "documentation": null, + "input_types": [ + "GenerateTargetsFromNfpmContentFilesRequest", + "UnionMembership" + ], + "name": "pants.backend.nfpm.target_types_rules.generate_targets_from_nfpm_content_files", + "output_type": "GeneratedTargets", + "provider": "pants.backend.experimental.nfpm" + }, + "pants.backend.nfpm.target_types_rules.generate_targets_from_nfpm_content_symlinks": { + "awaitables": [], + "description": "Generate `nfpm_content_symlink` targets from `nfpm_content_symlinks` target", + "documentation": null, + "input_types": [ + "GenerateTargetsFromNfpmContentSymlinksRequest", + "UnionMembership" + ], + "name": "pants.backend.nfpm.target_types_rules.generate_targets_from_nfpm_content_symlinks", + "output_type": "GeneratedTargets", + "provider": "pants.backend.experimental.nfpm" + }, + "pants.backend.nfpm.util_rules.generate_config.generate_nfpm_yaml": { + "awaitables": [ + "Get(TransitiveTargets)", + "Get(DigestEntries)", + "Get(FieldSetsPerTarget)", + "Get(Digest)" + ], + "description": null, + "documentation": null, + "input_types": [ + "NfpmPackageConfigRequest", + "EnvironmentAware", + "UnionMembership" + ], + "name": "pants.backend.nfpm.util_rules.generate_config.generate_nfpm_yaml", + "output_type": "NfpmPackageConfig", + "provider": "pants.backend.experimental.nfpm" + }, + "pants.backend.nfpm.util_rules.sandbox.populate_nfpm_content_sandbox": { + "awaitables": [ + "Get(TransitiveTargets)", + "Get(FieldSetsPerTarget)", + "Get(BuiltPackage)", + "Get(HydratedSources)", + "Get(DigestEntries)", + "Get(Digest)", + "Get(SourceFiles)", + "Get(Digest)" + ], + "description": null, + "documentation": null, + "input_types": [ + "NfpmContentSandboxRequest", + "UnionMembership" + ], + "name": "pants.backend.nfpm.util_rules.sandbox.populate_nfpm_content_sandbox", + "output_type": "NfpmContentSandbox", + "provider": "pants.backend.experimental.nfpm" + }, "pants.backend.openapi.codegen.java.rules.compile_openapi_into_java": { "awaitables": [ "Get(Digest, CreateDigest, ..)", @@ -96074,6 +97704,7 @@ "awaitables": [ "Get(ResolvePexConfig, ResolvePexConfigRequest, ..)", "Get(Digest, MergeDigests, ..)", + "Get(PythonExecutable, InterpreterConstraints, ..)", "Get(ProcessResult, PexCliProcess, ..)", "Get(DigestContents, Digest, ..)", "Get(Digest, CreateDigest, ..)", @@ -96885,6 +98516,23 @@ "output_type": "GeneratedTargets", "provider": "pants.backend.python" }, + "pants.backend.python.macros.uv_requirements.generate_from_uv_requirement": { + "awaitables": [ + "Get(TargetAdaptor, TargetAdaptorRequest, ..)", + "Get(DigestContents, PathGlobs, ..)" + ], + "description": "Generate `python_requirement` targets from uv pyproject.toml", + "documentation": null, + "input_types": [ + "GenerateFromUvRequirementsRequest", + "BuildRoot", + "UnionMembership", + "PythonSetup" + ], + "name": "pants.backend.python.macros.uv_requirements.generate_from_uv_requirement", + "output_type": "GeneratedTargets", + "provider": "pants.backend.python" + }, "pants.backend.python.mixed_interpreter_constraints.py_constraints.py_constraints": { "awaitables": [ "Get(AllTargets)", @@ -98037,6 +99685,7 @@ "EnvironmentAware", "GlobalOptions", "PexSubsystem", + "PexCli", "PythonSetup" ], "name": "pants.backend.python.util_rules.pex_cli.setup_pex_cli_process", @@ -98285,9 +99934,9 @@ }, "pants.backend.python.util_rules.vcs_versioning.generate_python_from_setuptools_scm": { "awaitables": [ - "Get(MaybeGitWorktree, GitWorktreeRequest, ..)", + "Get(MaybeGitWorktree, {GitWorktreeRequest: .., EnvironmentName: ..})", "Get(Digest, CreateDigest, ..)", - "Get(VenvPex, PexRequest, ..)", + "Get(VenvPex, {PexRequest: .., EnvironmentName: ..})", "Get(FallibleProcessResult, {VenvPexProcess: .., EnvironmentName: ..})", "Get(Snapshot, CreateDigest, ..)" ], @@ -98846,8 +100495,8 @@ "awaitables": [ "Get(Classpath, Addresses, ..)", "Get(Classpath, UnparsedAddressInputs, ..)", - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(GatheredConfigFilesByDirectories, GatherConfigFilesByDirectoriesRequest, ..)", + "Get(ToolClasspath)", + "Get(GatheredConfigFilesByDirectories)", "Get(Snapshot, DigestSubset, ..)" ], "description": null, @@ -98864,7 +100513,7 @@ }, "pants.backend.scala.lint.scalafix.rules._run_scalafix_process": { "awaitables": [ - "Get(Digest, MergeDigests, ..)", + "Get(Digest)", "Get(FallibleProcessResult, JvmProcess, ..)" ], "description": null, @@ -98903,11 +100552,11 @@ }, "pants.backend.scala.lint.scalafix.rules.scalafix_fix": { "awaitables": [ - "Get(SourceRootsResult, SourceRootsRequest, ..)", - "Get(StrippedSourceFiles, SourceFiles, ..)", - "Get(FallibleProcessResult, _ScalafixProcess, ..)", - "Get(Digest, DigestSubset, ..)", - "Get(Digest, AddPrefix, ..)", + "Get(SourceRootsResult)", + "Get(StrippedSourceFiles)", + "Get(FallibleProcessResult)", + "Get(Digest)", + "Get(Digest)", "Get(Snapshot, MergeDigests, ..)" ], "description": null, @@ -98922,8 +100571,8 @@ "pants.backend.scala.lint.scalafix.rules.scalafix_lint": { "awaitables": [ "Get(Snapshot, PathGlobs, ..)", - "Get(StrippedSourceFiles, SourceFiles, ..)", - "Get(FallibleProcessResult, _ScalafixProcess, ..)" + "Get(StrippedSourceFiles)", + "Get(FallibleProcessResult)" ], "description": null, "documentation": null, @@ -98936,8 +100585,8 @@ }, "pants.backend.scala.lint.scalafmt.rules.partition_scalafmt": { "awaitables": [ - "Get(ToolClasspath, ToolClasspathRequest, ..)", - "Get(GatheredConfigFilesByDirectories, GatherConfigFilesByDirectoriesRequest, ..)", + "Get(ToolClasspath)", + "Get(GatheredConfigFilesByDirectories)", "Get(Snapshot, DigestSubset, ..)" ], "description": null, @@ -98952,7 +100601,7 @@ }, "pants.backend.scala.lint.scalafmt.rules.scalafmt_fmt": { "awaitables": [ - "Get(Digest, MergeDigests, ..)", + "Get(Digest)", "Get(ProcessResult, JvmProcess, ..)", "Get(Snapshot, Digest, ..)" ], @@ -99755,15 +101404,13 @@ "pants.backend.terraform.tool.setup_terraform_process": { "awaitables": [ "Get(DownloadedExternalTool, ExternalToolRequest, ..)", - "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Get(BinaryShims, BinaryShimsRequest, ..)" + "Get(EnvironmentVars, EnvironmentVarsRequest, ..)" ], "description": null, "documentation": null, "input_types": [ "TerraformProcess", "TerraformTool", - "GetentBinary", "Platform" ], "name": "pants.backend.terraform.tool.setup_terraform_process", @@ -99964,6 +101611,42 @@ "output_type": "LintResult", "provider": "pants.backend.experimental.tools.yamllint" }, + "pants.backend.tsx.goals.tailor.find_putative_tsx_targets": { + "awaitables": [ + "Get(Paths, PathGlobs, ..)" + ], + "description": "Determine candidate TSX targets to create", + "documentation": null, + "input_types": [ + "PutativeTSXTargetsRequest", + "AllOwnedSources" + ], + "name": "pants.backend.tsx.goals.tailor.find_putative_tsx_targets", + "output_type": "PutativeTargets", + "provider": "pants.backend.experimental.typescript" + }, + "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies": { + "awaitables": [ + "Get(HydratedSources, HydrateSourcesRequest, ..)", + "Get(OwningNodePackage)", + "Get(ClosestTSConfig)", + "Get(PackageJsonImports)", + "Get(NativeParsedJavascriptDependencies)", + "Get(NodePackageCandidateMap)", + "Get(Paths)", + "Get(Owners, OwnersRequest, ..)", + "Get(Targets, Addresses, ..)" + ], + "description": null, + "documentation": null, + "input_types": [ + "InferTypeScriptDependenciesRequest", + "NodeJSInfer" + ], + "name": "pants.backend.typescript.dependency_inference.rules.infer_typescript_source_dependencies", + "output_type": "InferredDependencies", + "provider": "pants.backend.experimental.typescript" + }, "pants.backend.typescript.goals.tailor.find_putative_ts_targets": { "awaitables": [ "Get(Paths, PathGlobs, ..)" @@ -100077,7 +101760,8 @@ "documentation": null, "input_types": [ "S3DownloadFile", - "AWSCredentials" + "AWSCredentials", + "GlobalOptions" ], "name": "pants.backend.url_handlers.s3.register.download_from_s3", "output_type": "Digest", @@ -100422,7 +102106,7 @@ "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", "Get(DeployProcess, DeployFieldSet, ..)", "Get(PublishProcesses, _PublishProcessesForTargetRequest, ..)", - "Effect(InteractiveProcessResult, InteractiveProcess, ..)" + "Get(InteractiveProcessResult)" ], "description": "`experimental-deploy` goal", "documentation": null, @@ -100440,7 +102124,7 @@ "Get(Digest, AddPrefix, ..)", "Get(Digest, MergeDigests, ..)", "Get(EnvironmentVars, EnvironmentVarsRequest, ..)", - "Effect(InteractiveProcessResult, InteractiveProcess, ..)", + "Get(InteractiveProcessResult)", "Get(KnownUserResolveNames, KnownUserResolveNamesRequest, ..)" ], "description": "`export` goal", @@ -100666,7 +102350,7 @@ "awaitables": [ "Get(TargetRootsToFieldSets, TargetRootsToFieldSetsRequest, ..)", "Get(PublishProcesses, PublishProcessesRequest, ..)", - "Effect(InteractiveProcessResult, {InteractiveProcess: .., EnvironmentName: ..})" + "Get(InteractiveProcessResult, EnvironmentName, ..)" ], "description": "`publish` goal", "documentation": null, @@ -100683,7 +102367,7 @@ "awaitables": [ "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", "Get(ReplRequest, ReplImplementation, ..)", - "Effect(InteractiveProcessResult, InteractiveProcess, ..)" + "Get(InteractiveProcessResult)" ], "description": "`repl` goal", "documentation": null, @@ -101060,7 +102744,7 @@ "Get(EnvironmentTarget, EnvironmentNameRequest, ..)", "Get(RunRequest, RunFieldSet, ..)", "Get(RunDebugAdapterRequest, RunFieldSet, ..)", - "Effect(InteractiveProcessResult, InteractiveProcess, ..)" + "Get(InteractiveProcessResult)" ], "description": "`run` goal", "documentation": null, @@ -101309,7 +102993,7 @@ "Get(EnvironmentName, SingleEnvironmentNameRequest, ..)", "Get(TestDebugRequest, {Batch: .., EnvironmentName: ..})", "Get(TestDebugAdapterRequest, {Batch: .., EnvironmentName: ..})", - "Effect(InteractiveProcessResult, {InteractiveProcess: .., EnvironmentName: ..})", + "Get(InteractiveProcessResult, EnvironmentName, ..)", "Get(TestResult, {Batch: .., EnvironmentName: ..})", "Get(Digest, MergeDigests, ..)", "Get(CoverageReports, {CoverageDataCollection: .., EnvironmentName: ..})", @@ -101353,6 +103037,26 @@ "output_type": "RewrittenBuildFile", "provider": "pants.core" }, + "pants.core.goals.update_build_files.format_build_file_with_buildifier": { + "awaitables": [ + "Get(Snapshot, CreateDigest, ..)", + "Get(DownloadedExternalTool)", + "Get(Digest)", + "Get(ProcessResult, Process, ..)", + "Get(Snapshot, Digest, ..)", + "Get(DigestContents, Digest, ..)" + ], + "description": null, + "documentation": null, + "input_types": [ + "FormatWithBuildifierRequest", + "Buildifier", + "Platform" + ], + "name": "pants.core.goals.update_build_files.format_build_file_with_buildifier", + "output_type": "RewrittenBuildFile", + "provider": "pants.core" + }, "pants.core.goals.update_build_files.format_build_file_with_ruff": { "awaitables": [ "Get(Snapshot, CreateDigest, ..)", @@ -101696,6 +103400,9 @@ "Get(Process, AdhocProcessRequest, ..)", "Get(FallibleProcessResult, Process, ..)", "Get(ProcessResult, {FallibleProcessResult: .., ProductDescription: ..})", + "Get(Digest, DigestSubset, ..)", + "Get(Snapshot, Digest, ..)", + "Get(WrappedTarget, WrappedTargetRequest, ..)", "Get(Digest, CreateDigest, ..)", "Get(Digest, MergeDigests, ..)", "Get(Digest, RemovePrefix, ..)" @@ -102556,6 +104263,7 @@ }, "pants.core.util_rules.system_binaries.find_binary": { "awaitables": [ + "Get(PathMetadataResult, PathMetadataRequest, ..)", "Get(BashBinary)", "Get(Digest, CreateDigest, ..)", "Get(ProcessResult, Process, ..)", @@ -103584,7 +105292,7 @@ ], "name": "pants.engine.internals.graph.resolve_dependencies", "output_type": "Addresses", - "provider": "pants.backend.experimental.go.lint.vet" + "provider": "pants.backend.experimental.typescript" }, "pants.engine.internals.graph.resolve_generator_target_requests": { "awaitables": [ @@ -103616,7 +105324,7 @@ ], "name": "pants.engine.internals.graph.resolve_source_paths", "output_type": "SourcesPaths", - "provider": "pants.backend.experimental.javascript" + "provider": "pants.backend.experimental.typescript" }, "pants.engine.internals.graph.resolve_target": { "awaitables": [ @@ -103716,7 +105424,7 @@ ], "name": "pants.engine.internals.graph.target_types_to_generate_targets_requests", "output_type": "TargetTypesToGenerateTargetsRequests", - "provider": "pants.backend.experimental.python.typecheck.pyright" + "provider": "pants.backend.experimental.typescript" }, "pants.engine.internals.graph.transitive_dependency_mapping": { "awaitables": [ @@ -103803,28 +105511,53 @@ "output_type": "EnvironmentVars", "provider": "pants.backend.experimental.javascript" }, - "pants.engine.intrinsics.add_prefix_request_to_digest": { + "pants.engine.internals.specs_rules.resolve_addresses_from_raw_specs": { + "awaitables": [ + "Get(Addresses, RawSpecsWithoutFileOwners, ..)", + "Get(Addresses, RawSpecsWithOnlyFileOwners, ..)" + ], + "description": null, + "documentation": null, + "input_types": [ + "RawSpecs" + ], + "name": "pants.engine.internals.specs_rules.resolve_addresses_from_raw_specs", + "output_type": "Addresses", + "provider": "pants.backend.experimental.nfpm" + }, + "pants.engine.intrinsics.add_prefix": { "awaitables": [], "description": null, "documentation": null, "input_types": [ "AddPrefix" ], - "name": "pants.engine.intrinsics.add_prefix_request_to_digest", + "name": "pants.engine.intrinsics.add_prefix", "output_type": "Digest", - "provider": "pants.backend.docker.lint.hadolint" + "provider": "pants.backend.python.lint.yapf" }, - "pants.engine.intrinsics.create_digest_to_digest": { + "pants.engine.intrinsics.create_digest": { "awaitables": [], "description": null, "documentation": null, "input_types": [ "CreateDigest" ], - "name": "pants.engine.intrinsics.create_digest_to_digest", + "name": "pants.engine.intrinsics.create_digest", "output_type": "Digest", "provider": "pants.backend.experimental.debian" }, + "pants.engine.intrinsics.digest_subset_to_digest": { + "awaitables": [], + "description": null, + "documentation": null, + "input_types": [ + "DigestSubset" + ], + "name": "pants.engine.intrinsics.digest_subset_to_digest", + "output_type": "Digest", + "provider": "pants.backend.experimental.scala.lint.scalafix" + }, "pants.engine.intrinsics.digest_to_snapshot": { "awaitables": [], "description": null, @@ -103836,38 +105569,50 @@ "output_type": "Snapshot", "provider": "pants.backend.experimental.tools.trufflehog" }, - "pants.engine.intrinsics.directory_digest_to_digest_contents": { + "pants.engine.intrinsics.execute_process": { + "awaitables": [], + "description": null, + "documentation": null, + "input_types": [ + "Process", + "ProcessExecutionEnvironment" + ], + "name": "pants.engine.intrinsics.execute_process", + "output_type": "FallibleProcessResult", + "provider": "pants.backend.experimental.tools.semgrep" + }, + "pants.engine.intrinsics.get_digest_contents": { "awaitables": [], "description": null, "documentation": null, "input_types": [ "Digest" ], - "name": "pants.engine.intrinsics.directory_digest_to_digest_contents", + "name": "pants.engine.intrinsics.get_digest_contents", "output_type": "DigestContents", - "provider": "pants.backend.build_files.fix.deprecations" + "provider": "pants.backend.experimental.cc" }, - "pants.engine.intrinsics.directory_digest_to_digest_entries": { + "pants.engine.intrinsics.get_digest_entries": { "awaitables": [], "description": null, "documentation": null, "input_types": [ "Digest" ], - "name": "pants.engine.intrinsics.directory_digest_to_digest_entries", + "name": "pants.engine.intrinsics.get_digest_entries", "output_type": "DigestEntries", "provider": "pants.backend.experimental.debian" }, - "pants.engine.intrinsics.merge_digests_request_to_digest": { + "pants.engine.intrinsics.merge_digests": { "awaitables": [], "description": null, "documentation": null, "input_types": [ "MergeDigests" ], - "name": "pants.engine.intrinsics.merge_digests_request_to_digest", + "name": "pants.engine.intrinsics.merge_digests", "output_type": "Digest", - "provider": "pants.backend.experimental.tools.trufflehog" + "provider": "pants.backend.experimental.nfpm" }, "pants.engine.intrinsics.parse_dockerfile_info": { "awaitables": [], @@ -103900,7 +105645,7 @@ ], "name": "pants.engine.intrinsics.path_globs_to_digest", "output_type": "Digest", - "provider": "pants.backend.experimental.python.typecheck.pyright" + "provider": "pants.backend.experimental.typescript" }, "pants.engine.intrinsics.path_globs_to_paths": { "awaitables": [], @@ -103913,28 +105658,29 @@ "output_type": "Paths", "provider": "pants.backend.experimental.python.typecheck.pyright" }, - "pants.engine.intrinsics.process_request_to_process_result": { + "pants.engine.intrinsics.remove_prefix": { "awaitables": [], "description": null, "documentation": null, "input_types": [ - "Process", - "ProcessExecutionEnvironment" + "RemovePrefix" ], - "name": "pants.engine.intrinsics.process_request_to_process_result", - "output_type": "FallibleProcessResult", - "provider": "pants.backend.experimental.tools.semgrep" + "name": "pants.engine.intrinsics.remove_prefix", + "output_type": "Digest", + "provider": "pants.backend.experimental.makeself" }, - "pants.engine.intrinsics.remove_prefix_request_to_digest": { - "awaitables": [], + "pants.engine.process.execute_process_with_retry": { + "awaitables": [ + "Get(FallibleProcessResult, Process, ..)" + ], "description": null, "documentation": null, "input_types": [ - "RemovePrefix" + "ProcessWithRetries" ], - "name": "pants.engine.intrinsics.remove_prefix_request_to_digest", - "output_type": "Digest", - "provider": "pants.backend.experimental.makeself" + "name": "pants.engine.process.execute_process_with_retry", + "output_type": "ProcessResultWithRetries", + "provider": "pants.backend.experimental.helm" }, "pants.engine.process.fallible_to_exec_result_or_raise": { "awaitables": [], @@ -103947,7 +105693,7 @@ ], "name": "pants.engine.process.fallible_to_exec_result_or_raise", "output_type": "ProcessResult", - "provider": "pants.backend.build_files.fmt.buildifier" + "provider": "pants.backend.experimental.java.lint.google_java_format" }, "pants.engine.process.get_multi_platform_request_description": { "awaitables": [], @@ -103960,19 +105706,6 @@ "output_type": "ProductDescription", "provider": "pants.backend.experimental.helm.check.kubeconform" }, - "pants.engine.process.run_proc_with_retry": { - "awaitables": [ - "Get(FallibleProcessResult, Process, ..)" - ], - "description": null, - "documentation": null, - "input_types": [ - "ProcessWithRetries" - ], - "name": "pants.engine.process.run_proc_with_retry", - "output_type": "ProcessResultWithRetries", - "provider": "pants.backend.experimental.helm" - }, "pants.goal.stats_aggregator.construct_callback": { "awaitables": [], "description": null, @@ -105012,7 +106745,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -105052,7 +106785,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -105099,7 +106832,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -105256,6 +106989,22 @@ "required": false, "type_hint": "'append' | 'off' | 'prepend' | None" }, + { + "alias": "outputs_match_mode", + "default": "'all_warn'", + "description": "Configure whether all, or some, of the values in the `output_files` and `output_directories` fields must actually match the outputs generated by the invoked process. These values are called \"globs\". Outputs may be matched by more than one glob.\n\nValid values are:\n\n- `all_warn`: Log a warning if any glob fails to match an output. (In other words, all globs must match to avoid a warning.) This is the default value.\n\n- `all`: Ensure all globs match an output or else raise an error.\n\n- `at_least_one_warn`: Log a warning if none of the globs match an output.\n\n- `at_least_one`: Ensure at least one glob matches an output or else raise an error.\n\n- `allow_empty`: Allow empty digests (which means nothing was captured). This disables checking that globs match outputs.", + "provider": "", + "required": false, + "type_hint": "'all' | 'all_warn' | 'allow_empty' | 'at_least_one' | 'at_least_one_warn' | None" + }, + { + "alias": "cache_scope", + "default": "'from_environment'", + "description": "Set the \"cache scope\" of the executed process to provided value. The cache scope determines for how long Pants will cache the result of the process execution (assuming no changes to files or dependencies invalidate the result in the meantime).\n\nThe valid values are:\n\n- `from_environment`: Use the default cache scope for the applicable environment in which the process will execute. This is `success` for all environments except for `experimental_workspace_environment`, in which case `session` cache scope will be used.\n\n- `success`: Cache successful executions of the process.\n\n- `success_per_pantsd_restart`: Cache successful executions of the process for the life of the\n applicable pantsd process.\n\n- `session`: Only cache the result for a single Pants session. This will usually be a single invocation of the `pants` tool.", + "provider": "", + "required": false, + "type_hint": "'from_environment' | 'session' | 'success' | 'success_per_pantsd_restart' | None" + }, { "alias": "environment", "default": "'__local__'", @@ -105347,7 +107096,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -105435,7 +107184,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -105467,7 +107216,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -105531,7 +107280,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -105646,7 +107395,7 @@ }, "debian_package": { "alias": "debian_package", - "description": "A Debian package containing an artifact.\n\nThis will not install the package, only create a `.deb` file that you can then distribute and install, e.g. via `dpkg`.\n\nSee https://www.pantsbuild.org/2.23/reference/targets/debian_package.", + "description": "A Debian package containing an artifact.\n\nThis will not install the package, only create a `.deb` file that you can then distribute and install, e.g. via `dpkg`.\n\nSee https://www.pantsbuild.org/2.24/reference/targets/debian_package.", "fields": [ { "alias": "tags", @@ -105747,7 +107496,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -105952,6 +107701,14 @@ "required": false, "type_hint": "str | None" }, + { + "alias": "golang_extra_tools", + "default": null, + "description": "Overrides the default value from the option `[golang].extra_tools` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" + }, { "alias": "golang_go_search_paths", "default": null, @@ -105976,6 +107733,14 @@ "required": false, "type_hint": "Iterable[str] | None" }, + { + "alias": "nfpm_default_mtime", + "default": null, + "description": "Overrides the default value from the option `[nfpm].default_mtime` when this environment target is active.", + "provider": "pants.backend.experimental.nfpm", + "required": false, + "type_hint": "str | None" + }, { "alias": "nodejs_corepack_env_vars", "default": null, @@ -106115,7 +107880,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -106147,7 +107912,7 @@ { "alias": "image_tags", "default": "('latest',)", - "description": "\nAny tags to apply to the Docker image name (the version is usually applied as a tag).\n\ntag may use placeholders in curly braces to be interpolated. The placeholders are derived from various sources, such as the Dockerfile instructions and build args.\n\nSee https://www.pantsbuild.org/2.23/docs/docker/tagging-docker-images.", + "description": "\nAny tags to apply to the Docker image name (the version is usually applied as a tag).\n\ntag may use placeholders in curly braces to be interpolated. The placeholders are derived from various sources, such as the Dockerfile instructions and build args.\n\nSee https://www.pantsbuild.org/2.24/docs/docker/tagging-docker-images.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -106544,6 +108309,14 @@ "required": false, "type_hint": "str | None" }, + { + "alias": "golang_extra_tools", + "default": null, + "description": "Overrides the default value from the option `[golang].extra_tools` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" + }, { "alias": "golang_go_search_paths", "default": null, @@ -106568,6 +108341,14 @@ "required": false, "type_hint": "Iterable[str] | None" }, + { + "alias": "nfpm_default_mtime", + "default": null, + "description": "Overrides the default value from the option `[nfpm].default_mtime` when this environment target is active.", + "provider": "pants.backend.experimental.nfpm", + "required": false, + "type_hint": "str | None" + }, { "alias": "nodejs_corepack_env_vars", "default": null, @@ -106939,7 +108720,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -106995,7 +108776,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -107219,7 +109000,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -107347,7 +109128,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -107459,7 +109240,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -107627,7 +109408,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -107787,7 +109568,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -107843,7 +109624,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -107899,7 +109680,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -107995,7 +109776,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -108059,7 +109840,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -108131,7 +109912,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -108163,7 +109944,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -108243,7 +110024,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -108299,7 +110080,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -108355,7 +110136,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -108387,7 +110168,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -108467,7 +110248,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -108547,7 +110328,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -108627,7 +110408,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -108707,7 +110488,7 @@ { "alias": "packages", "default": null, - "description": "The JVM packages this artifact provides for the purposes of dependency inference.\n\nFor example, the JVM artifact `junit:junit` might provide `[\"org.junit.**\"]`.\n\nUsually you can leave this field off. If unspecified, Pants will fall back to the `[java-infer].third_party_import_mapping`, then to a built in mapping (https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/jvm/dependency_inference/jvm_artifact_mappings.py), and then finally it will default to the normalized `group` of the artifact. For example, in the absence of any other mapping the artifact `io.confluent:common-config` would default to providing `[\"io.confluent.**\"]`.\n\nThe package path may be made recursive to match symbols in subpackages by adding `.**` to the end of the package path. For example, specify `[\"org.junit.**\"]` to infer a dependency on the artifact for any file importing a symbol from `org.junit` or its subpackages.", + "description": "The JVM packages this artifact provides for the purposes of dependency inference.\n\nFor example, the JVM artifact `junit:junit` might provide `[\"org.junit.**\"]`.\n\nUsually you can leave this field off. If unspecified, Pants will fall back to the `[java-infer].third_party_import_mapping`, then to a built in mapping (https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/jvm/dependency_inference/jvm_artifact_mappings.py), and then finally it will default to the normalized `group` of the artifact. For example, in the absence of any other mapping the artifact `io.confluent:common-config` would default to providing `[\"io.confluent.**\"]`.\n\nThe package path may be made recursive to match symbols in subpackages by adding `.**` to the end of the package path. For example, specify `[\"org.junit.**\"]` to infer a dependency on the artifact for any file importing a symbol from `org.junit` or its subpackages.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -108859,7 +110640,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -108915,7 +110696,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -109011,7 +110792,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -109091,7 +110872,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -109195,7 +110976,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -109432,6 +111213,14 @@ "required": false, "type_hint": "str | None" }, + { + "alias": "golang_extra_tools", + "default": null, + "description": "Overrides the default value from the option `[golang].extra_tools` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" + }, { "alias": "golang_go_search_paths", "default": null, @@ -109456,6 +111245,14 @@ "required": false, "type_hint": "Iterable[str] | None" }, + { + "alias": "nfpm_default_mtime", + "default": null, + "description": "Overrides the default value from the option `[nfpm].default_mtime` when this environment target is active.", + "provider": "pants.backend.experimental.nfpm", + "required": false, + "type_hint": "str | None" + }, { "alias": "nodejs_corepack_env_vars", "default": null, @@ -109644,6 +111441,1302 @@ "provider": "pants.backend.experimental.makeself", "summary": "Self-extractable archive on Unix using [makeself](https://github.com/megastep/makeself) tool." }, + "nfpm_apk_package": { + "alias": "nfpm_apk_package", + "description": "An APK system package (Alpine Package Keeper) built by nFPM.\n\nThis will not install the package, only create an .apk file that you can then distribute and install, e.g. via pkg.\n\nSee https://www.pantsbuild.org/nfpm-apk-package.", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "output_path", + "default": "'${spec_path_normalized}/${target_name_normalized}${file_suffix}'", + "description": "Where the built directory tree should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/project/packaging:rpm` would be `src.project.packaging/rpm/`.\n\nRegardless of whether you use the default or set this field, the package's file name will have the packaging system's conventional filename (as understood by nFPM). So, an rpm using the default for this field, the target `src/project/packaging:rpm` might have a final path like `src.project.packaging/rpm/projectname-1.2.3-1.x86_64.rpm`. Similarly, for deb, the target `src/project/packaging:deb` might have a final path like `src.project.packaging/deb/projectname_1.2.3+git-1_x86_64.deb`. The other packagers have their own formats as well.\n\nWhen running `pants package`, this path will be prefixed by `--distdir` (e.g. `dist/`).\n\nWarning: setting this value risks naming collisions with other package targets you may have.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "mtime", + "default": "'1980-01-01T00:00:00Z'", + "description": "The file modification time as an RFC 3339 formatted string.\n\nFor example: 2008-01-02T15:04:05Z\n\nThe format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html\n\nNOTE: This field does NOT set the mtime for package contents. It sets the build time in package metadata (for package types that have that metadata), as well as the file modification time for files that nFPM generates in the package. To set the mtime for package contents, use the `file_mtime` field on the relevant `nfpm_content_*` targets.\n\nThe default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable.\n\nSee also: https://reproducible-builds.org/docs/timestamps/", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "dependencies", + "default": null, + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "package_name", + "default": null, + "description": "The package name.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "arch", + "default": "'amd64'", + "description": "The package architecture.\n\nThis should be a valid GOARCH value (or GOARCH+GOARM) that nFPM can convert into the package-specific equivalent. Otherwise, pants tells nFPM to use this value as-is.\n\nnFPM conversion from GOARCH to package-specific value is documented here: https://nfpm.goreleaser.com/goarch-to-pkg/\n\nUse one of these values unless you need nFPM to use your value as-is: '386', 'all', 'amd64', 'arm5', 'arm6', 'arm7', 'arm64', 'loong64', 'mips', 'mipsle', 'mips64', 'mips64le', 'ppc64', 'ppc64le', 'riscv64', 's390', 's390x', 'sparc64', 'wasm'", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "version", + "default": null, + "description": "The package version (preferably following semver).\n\nIf 'version_schema' is not 'semver', then this should not be prefixed with a 'v' because some package managers, like deb, require the version start with a digit.\n\nSee the 'version_schema' field's help for more details about how this field gets parsed by nFPM when it is 'semver'.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "version_schema", + "default": "'semver'", + "description": "Which schema the 'version' field follows.\n\nnFPM only supports two schemas for now: semver, none\n\nIf this is \"none\", then nFPM will use 'version' as-is.\n\nIf this is \"semver\", then nFPM will parse 'version' into its constituent parts using a lenient algorithm: It will strip a `v` prefix and will accept versions with fewer than 3 components, like `v1.2`. If parsing fails, then the version is used as-is. If parsing succeeds, nFPM replaces config options with the parsed components.\n\nThe 'version' field always gets replaced with a dotted 3 part version (Major.Minor.Patch).\n\nThe 'version_prerelease' field is only updated if not set. It gets the \"dev\", \"alpha\", \"rc\", or similar parsed prerelease indicator.\n\nThe 'version_metadata' field is only updated if not set. This will be set with \"git\" when the version contains \"+git\" and similar metadata tags.\n\nThe 'version_release' and 'version_epoch' fields are NOT replaced by components parsed from 'version'.\n\nN.B.: Some of these fields are not available for all package types.\n\nThis field is named \"version\" because that is the term used by nFPM. Though deb and rpm packaging also use \"version\", this is known as \"pkgver\" in apk and archlinux packaging.", + "provider": "", + "required": false, + "type_hint": "'none' | 'semver' | None" + }, + { + "alias": "version_prerelease", + "default": null, + "description": "This is a pre-release indicator like \"alpha\" or \"beta\" and often includes a numeric component like \"rc1\" and \"rc2\".\n\nFor apk and archlinux, version and prerelease are merely concatenated. For deb and rpm, prerelease is typically prefixed with a \"~\" in the version.\n\nnFPM extracts the default for this from 'version' if it is semver compatible. If you set 'version_prerelease', then any prerelease component of 'version' gets discarded.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "version_release", + "default": "1", + "description": "The release or revision number for a given package version.\n\nIncrement the release each time you release the same version of the package. Often, these releases allow for correcting metadata about a package or to rebuild something that was broken in a previous release of that version.\n\nReset this to 1 whenever you bump the 'version' field.\n\nN.B.: nFPM does NOT parse this from the 'version' field.", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "homepage", + "default": null, + "description": "The URL of this package's homepage like \"https://example.com\".\n\nThis field is named \"homepage\" instead of \"url\" because that is the term used by nFPM, which adopted the term from deb packaging. The term \"url\" is used by apk, archlinux, and rpm packaging.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "license", + "default": null, + "description": "The license of this package.\n\nWhere possible, please try to use the SPDX license identifiers (for example \"Apache-2.0\", \"BSD-3-Clause\", \"GPL-3.0-or-later\", or \"MIT\"): https://spdx.org/licenses/\n\nFor more complex cases, where the package includes software with multiple licenses, consider using an SPDX license expression: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/\n\nSee also these rpm-specific descriptions of how to set this field (this is helpful info even if you are not using rpm): https://docs.fedoraproject.org/en-US/legal/license-field/\n\nnFPM does not yet generate the debian/copyright file, so this field is technically unused for now. Even for deb, we recommend using this field to document the software license for this package. See also these pages about specifying a license for deb packaging: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification https://wiki.debian.org/Proposals/CopyrightFormat#Differences_between_DEP5_and_SPDX", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "maintainer", + "default": null, + "description": "The name and email address of the packager or packager organization.\n\nThe 'maintainer' is used to identify who actually packaged the software, as opposed to the author of the software.\n\nThe name is first, then the email address inside angle brackets `<>` (in RFC5322 format). For example: \"Foo Bar \"\n\nSee: https://wiki.alpinelinux.org/wiki/Apk_spec#PKGINFO_Format", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "replaces", + "default": null, + "description": "A list of packages whose files this package can take ownership of.\n\nWARNING: This field does NOT have the same semantics as \"replaces\" in other packaging systems. This field deals with allowing packages that want to provide the same file to be installed at the same time.\n\nIf another package 'provides' the same file, and that package is in the 'replaces' list, then the apk installer will allow both packages to be installed and record that this package owns the conflicting files.\n\nThis field takes a simple list of package names, like this:\n\n- \"bash\" - \"git\" - \"pkgconfig\"\n\nSee: https://wiki.alpinelinux.org/wiki/Apk_spec#PKGINFO_Format https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#replaces", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "provides", + "default": null, + "description": "A list of (virtual) packages or other things that this package provides.\n\nThe 'provides' field takes a variety of different formats. You can provide package alternatives, virtual packages, or various packaged components (commands, shared objects, pkg-config, etc). A \"provides\" entry with a version specifier defines an alternative name for this package that will conflict with any other package that has or provides that name. A \"provides\" entry without a version specifier defines a virtual package that does not create conflicts; multiple packages with the same virtual package (no version specifier) can be installed at the same time.\n\nSadly, the format of this field is not very well documented, so you may have to open other packages to find examples of how to use it. The format seems to be very similar to the 'depends' field.\n\nHere are some examples extracted a variety of random packages:\n\n- \"cmd:bash=5.2.15-r0\" - \"cmd:git=2.38.5-r0\" - \"cmd:gio=2.74.6-r0\" - \"so:libgio-2.0.so.0=0.7400.6\" - \"so:libglib-2.0.so.0=0.7400.6\" - \"py3.10:pkgconfig=1.5.5-r1\" - \"pc:libpkgconf=1.9.4\" - \"pkgconfig=1\"\n\nSee: https://wiki.alpinelinux.org/wiki/Apk_spec#PKGINFO_Format https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#provides", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "depends", + "default": null, + "description": "List of package dependencies or conflicts (for package installers).\n\nTo specify a conflicting dependency (a package that cannot be installed at the same time), prefix the entry with a `!`.\n\nThis field is named \"depends\" because that is the term used by nFPM. Alpine linux uses both \"depends\" and \"depend\", which are used in APKBUILD and PKGINFO files respectively. The `abuild` tool uses the APKBUILD \"depends\" var--and other build-time introspection--to generate the PKGINFO \"depend\" var that ends up in the final apk package.\n\nThe Alpine documentation says not to include shared-object dependencies in the APKBUILD \"depends\" var, but that warning does not apply to this field. Even though this field is named \"depends\", nFPM uses it to build the PKGINFO \"depend\" var, so you SHOULD include any shared-object dependencies in this list.\n\nThe 'depends' field takes a variety of different formats. You can depend on packages, absolute paths, shared objects, pkg-configs, and possibly other things. Sadly, that format is not very well documented, so you may have to open other packages to find examples of how to use pkg-config deps (which have a `pc:` prefix), and any other less common syntax. Here are some examples extracted a variety of random packages:\n\nExample package dependencies (which do not have a prefix):\n\n- \"git\" - \"git=2.40.1-r0\"\n\nExample absolute path dependencies (which start with `/`):\n\n- \"/bin/sh\"\n\nExample shared object dependencies (which have a `so:` prefix):\n\n- \"so:libc.musl-x86_64.so.1\" - \"so:libcurl.so.4\" - \"so:libpcre2-8.so.0\" - \"so:libz.so.1\"\n\nWARNING: This is NOT the same as the 'dependencies' field! It does not accept pants-style dependencies like target addresses.\n\nSee: https://wiki.alpinelinux.org/wiki/Apk_spec#PKGINFO_Format\n\nSee also the related (but different!) \"depends\" var in APKBUILD: https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#depends https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#depends_&_makedepends", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "scripts", + "default": null, + "description": "Map of install script source files for the APK package.\n\nThis maps the script type (key) to the script source file (value). Each of the script source file(s) must be provided via 'dependencies'. The script types are the terms used by nFPM. For reference, Alpine Linux uses the following terms in the APKBUILD file instead:\n\n | nFPM term | APKBUILD term |\n +-------------+----------------+\n | preinstall | pre-install |\n | postinstall | post-install |\n | preupgrade | pre-upgrade |\n | postupgrade | post-upgrade |\n | preremove | pre-deinstall |\n | postremove | post-deinstall |\n\nPlease consult the Alpine Linux docs to understand when `apk` will run each of these scripts, how it handles a failure, and what failure means for the lifecycle of the package `apk` is working on.\n\nSee: https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#install https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#install https://wiki.alpinelinux.org/wiki/Apk_spec#Binary_Format", + "provider": "", + "required": false, + "type_hint": "dict | None" + } + ], + "provider": "pants.backend.experimental.nfpm", + "summary": "An APK system package (Alpine Package Keeper) built by nFPM." + }, + "nfpm_archlinux_package": { + "alias": "nfpm_archlinux_package", + "description": "An Archlinux system package built by nFPM.\n\nThis will not install the package, only create an .tar.zst file that you can then distribute and install, e.g. via pkg.\n\nSee https://www.pantsbuild.org/nfpm-archlinux-package.", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "output_path", + "default": "'${spec_path_normalized}/${target_name_normalized}${file_suffix}'", + "description": "Where the built directory tree should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/project/packaging:rpm` would be `src.project.packaging/rpm/`.\n\nRegardless of whether you use the default or set this field, the package's file name will have the packaging system's conventional filename (as understood by nFPM). So, an rpm using the default for this field, the target `src/project/packaging:rpm` might have a final path like `src.project.packaging/rpm/projectname-1.2.3-1.x86_64.rpm`. Similarly, for deb, the target `src/project/packaging:deb` might have a final path like `src.project.packaging/deb/projectname_1.2.3+git-1_x86_64.deb`. The other packagers have their own formats as well.\n\nWhen running `pants package`, this path will be prefixed by `--distdir` (e.g. `dist/`).\n\nWarning: setting this value risks naming collisions with other package targets you may have.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "mtime", + "default": "'1980-01-01T00:00:00Z'", + "description": "The file modification time as an RFC 3339 formatted string.\n\nFor example: 2008-01-02T15:04:05Z\n\nThe format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html\n\nNOTE: This field does NOT set the mtime for package contents. It sets the build time in package metadata (for package types that have that metadata), as well as the file modification time for files that nFPM generates in the package. To set the mtime for package contents, use the `file_mtime` field on the relevant `nfpm_content_*` targets.\n\nThe default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable.\n\nSee also: https://reproducible-builds.org/docs/timestamps/", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "dependencies", + "default": null, + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "package_name", + "default": null, + "description": "The package name.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "arch", + "default": "'amd64'", + "description": "The package architecture.\n\nThis should be a valid GOARCH value (or GOARCH+GOARM) that nFPM can convert into the package-specific equivalent. Otherwise, pants tells nFPM to use this value as-is.\n\nnFPM conversion from GOARCH to package-specific value is documented here: https://nfpm.goreleaser.com/goarch-to-pkg/\n\nUse one of these values unless you need nFPM to use your value as-is: '386', 'all', 'amd64', 'arm5', 'arm6', 'arm7', 'arm64', 'loong64', 'mips', 'mipsle', 'mips64', 'mips64le', 'ppc64', 'ppc64le', 'riscv64', 's390', 's390x', 'sparc64', 'wasm'", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "version", + "default": null, + "description": "The package version (preferably following semver).\n\nIf 'version_schema' is not 'semver', then this should not be prefixed with a 'v' because some package managers, like deb, require the version start with a digit.\n\nSee the 'version_schema' field's help for more details about how this field gets parsed by nFPM when it is 'semver'.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "version_schema", + "default": "'semver'", + "description": "Which schema the 'version' field follows.\n\nnFPM only supports two schemas for now: semver, none\n\nIf this is \"none\", then nFPM will use 'version' as-is.\n\nIf this is \"semver\", then nFPM will parse 'version' into its constituent parts using a lenient algorithm: It will strip a `v` prefix and will accept versions with fewer than 3 components, like `v1.2`. If parsing fails, then the version is used as-is. If parsing succeeds, nFPM replaces config options with the parsed components.\n\nThe 'version' field always gets replaced with a dotted 3 part version (Major.Minor.Patch).\n\nThe 'version_prerelease' field is only updated if not set. It gets the \"dev\", \"alpha\", \"rc\", or similar parsed prerelease indicator.\n\nThe 'version_metadata' field is only updated if not set. This will be set with \"git\" when the version contains \"+git\" and similar metadata tags.\n\nThe 'version_release' and 'version_epoch' fields are NOT replaced by components parsed from 'version'.\n\nN.B.: Some of these fields are not available for all package types.\n\nThis field is named \"version\" because that is the term used by nFPM. Though deb and rpm packaging also use \"version\", this is known as \"pkgver\" in apk and archlinux packaging.", + "provider": "", + "required": false, + "type_hint": "'none' | 'semver' | None" + }, + { + "alias": "version_prerelease", + "default": null, + "description": "This is a pre-release indicator like \"alpha\" or \"beta\" and often includes a numeric component like \"rc1\" and \"rc2\".\n\nFor apk and archlinux, version and prerelease are merely concatenated. For deb and rpm, prerelease is typically prefixed with a \"~\" in the version.\n\nnFPM extracts the default for this from 'version' if it is semver compatible. If you set 'version_prerelease', then any prerelease component of 'version' gets discarded.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "version_release", + "default": "1", + "description": "The release or revision number for a given package version.\n\nIncrement the release each time you release the same version of the package. Often, these releases allow for correcting metadata about a package or to rebuild something that was broken in a previous release of that version.\n\nReset this to 1 whenever you bump the 'version' field.\n\nN.B.: nFPM does NOT parse this from the 'version' field.", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "version_epoch", + "default": null, + "description": "A package with a higher version epoch will always be considered newer. This is primarily useful when the version numbering scheme has changed.\n\nDebian and RPM documentation warn against using epoch in most cases: https://www.debian.org/doc/debian-policy/ch-controlfields.html#epochs-should-be-used-sparingly https://rpm-packaging-guide.github.io/#epoch\n\nWhen this field is None (the default) nFPM will use \"\" for deb packages, and \"0\" for rpm packages.\n\nN.B.: The nFPM documentation incorrectly notes that nFPM can parse this from the 'version' field; the nFPM code actually does not replace or update this.", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "homepage", + "default": null, + "description": "The URL of this package's homepage like \"https://example.com\".\n\nThis field is named \"homepage\" instead of \"url\" because that is the term used by nFPM, which adopted the term from deb packaging. The term \"url\" is used by apk, archlinux, and rpm packaging.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "license", + "default": null, + "description": "The license of this package.\n\nWhere possible, please try to use the SPDX license identifiers (for example \"Apache-2.0\", \"BSD-3-Clause\", \"GPL-3.0-or-later\", or \"MIT\"): https://spdx.org/licenses/\n\nFor more complex cases, where the package includes software with multiple licenses, consider using an SPDX license expression: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/\n\nSee also these rpm-specific descriptions of how to set this field (this is helpful info even if you are not using rpm): https://docs.fedoraproject.org/en-US/legal/license-field/\n\nnFPM does not yet generate the debian/copyright file, so this field is technically unused for now. Even for deb, we recommend using this field to document the software license for this package. See also these pages about specifying a license for deb packaging: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification https://wiki.debian.org/Proposals/CopyrightFormat#Differences_between_DEP5_and_SPDX", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "packager", + "default": null, + "description": "The name and email address of the packager or packager organization.\n\nThe 'packager' is used to identify who actually packaged the software, as opposed to the author of the software, or the maintainer of an archlinux PKGBUILD.\n\nThe name is first, then the email address inside angle brackets `<>` (in RFC5322 format). For example: \"Foo Bar \" This format is the conventional format; it not a hard requirement.\n\nIf not set, nFPM uses \"Unknown Packager\" by default (as does `makepkg`).\n\nSee: https://man.archlinux.org/man/BUILDINFO.5 https://wiki.archlinux.org/title/Makepkg#Packager_information", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "pkgbase", + "default": null, + "description": "The base name of an Archlinux package.\n\nFor split packages, 'pkgbase' specifies the name of the group of packages. For all other packages, this is the same as package name (known as 'pkgname' by Archlinux packaging tools). If unset, nFPM will use the package name as the default value for the 'pkgbase' field.\n\nSee: https://man.archlinux.org/man/BUILDINFO.5 https://wiki.archlinux.org/title/PKGBUILD#pkgbase", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "replaces", + "default": null, + "description": "A list of packages that this package replaces or obsoletes.\n\nThis allows for combining packages or splitting them up. When pacman does a `sysupgrade` operation, it will immediately replace the listed packages with this package. This option is ignored during pacman `sync` or `upgrade` operations.\n\nSee: https://wiki.archlinux.org/title/PKGBUILD#replaces https://man.archlinux.org/man/core/pacman/PKGBUILD.5.en", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "provides", + "default": null, + "description": "A list of (virtual) packages or shared libraries that this package provides.\n\nEach entry can be either a package name or a shared library (which ends with \".so\"). You can specify a version on both package names and shared libraries. If specified, the version must use `=` (not `<`, `<=`, etc).\n\nMake sure to include any shared libraries (.so files) that this package installs if they provide an external API for other packages to use.\n\nDo not include the 'package_name' (known by 'pkgname' in Archlinux) in the list of 'provides' as that is implicit.\n\nFor example, package \"baz\" could declare that it also provides virtual packages \"foo\" and \"bar\" as well as the \"libbaz.so\" v2 shared object. Because the \"baz\" package implicitly provides its own name, this list should not include \"baz\".\n\n- \"foo\" - \"bar=1.0.0\" - \"libbaz.so=2\"\n\nIf several packages declare the same 'provides', then they might need to declare that they conflict with each other using 'conflicts' if, for example, they also install a binary with the same path. Packages that have the same package (or virtual package) in both 'provides' and 'conflicts' are considered alternative packages that cannot be installed at the same time. If those package only include an entry in 'provides' and not in 'conflicts', then they CAN be installed at the same time.\n\nSee: https://wiki.archlinux.org/title/PKGBUILD#provides https://man.archlinux.org/man/core/pacman/PKGBUILD.5.en https://wiki.archlinux.org/title/Arch_package_guidelines#Package_relations", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "depends", + "default": null, + "description": "List of package dependencies (for package installers).\n\nThe 'depends' field has install-time dependencies that can use version selectors (with one of `<`, `<=`, `=`, `>=`, `>`).\n\n- \"git\" - \"tcpdump<5\" - \"foobar>=1.8.0\"\n\nWARNING: This is NOT the same as the 'dependencies' field! It does not accept pants-style dependencies like target addresses.\n\nSee: https://wiki.archlinux.org/title/PKGBUILD#depends https://man.archlinux.org/man/core/pacman/PKGBUILD.5.en https://wiki.archlinux.org/title/Arch_package_guidelines#Package_dependencies", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "conflicts", + "default": null, + "description": "A list of (virtual) packages that this package conflicts with.\n\nPackages that conflict with each other cannot be installed at the same time.\n\nThe 'conflicts' field has the same syntax as the 'depends' field.\n\nSee: https://wiki.archlinux.org/title/PKGBUILD#conflicts https://man.archlinux.org/man/core/pacman/PKGBUILD.5.en", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "scripts", + "default": null, + "description": "Map of install script source files for the Archlinux package.\n\nThis maps the script type (key) to the script source file (value). Each of the script source file(s) must be provided via 'dependencies'. nFPM will package all of these scripts in a single `.INSTALL` scriptlet file by adding a shell function for each of your script files where your script becomes the body of that function. These functions are:\n\n | nFPM script | `.INSTALL` function |\n +-------------+---------------------+\n | preinstall | pre_install |\n | postinstall | post_install |\n | preupgrade | pre_upgrade |\n | postupgrade | post_upgrade |\n | preremove | pre_remove |\n | postremove | post_remove |\n\nSo, if you provide a `preinstall` script, the `.INSTALL` scriptlet would contain:\n\n ```\n function pre_install() {\n # Your preinstall script's contents get embedded here.\n }\n ```\n\nHere are several things to keep in mind when writing your scripts:\n\n* Your scripts are actually functions, so use `return` instead of `exit`.\n* `pacman` uses `/bin/sh` to source `.INSTALL` and run the function(s).\n* `pacman` runs these in a chroot.\n* The current directory is the root of the chroot.\n\nPlease consult the Archlinux docs to understand when `pacman` will run each of these functions and what arguments the functions will receive.\n\nSee: https://wiki.archlinux.org/title/pacman#What_happens_during_package_install/upgrade/removal https://man.archlinux.org/man/core/pacman/PKGBUILD.5.en#INSTALL/UPGRADE/REMOVE_SCRIPTING https://wiki.archlinux.org/title/PKGBUILD#install", + "provider": "", + "required": false, + "type_hint": "dict | None" + } + ], + "provider": "pants.backend.experimental.nfpm", + "summary": "An Archlinux system package built by nFPM." + }, + "nfpm_content_dir": { + "alias": "nfpm_content_dir", + "description": "A directory in an nFPM package (created on package install).", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "dst", + "default": null, + "description": "The absolute install path for a directory.\n\nWhen the package gets installed, a directory will be created at the 'dst' path.\n\nThis path is an absolute path on the file system where the package will be installed.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "file_owner", + "default": "'root'", + "description": "Username that should own this packaged file or directory.\n\nThis is like the OWNER arg in chown: https://www.mankier.com/1/chown", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "file_group", + "default": "'root'", + "description": "Name of the group that should own this packaged file or directory.\n\nThis is like the GROUP arg in chown: https://www.mankier.com/1/chown", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "file_mode", + "default": null, + "description": "A file mode as a numeric octal, an string octal, or a symbolic representation.\n\nNB: In most cases, you should set this field and not rely on the default value. Pants only tracks the executable bit for workspace files. So, this field defaults to 0o755 for executable files and 0o644 for files that are not executable.\n\nYou may specify the file mode as: an octal, an octal string, or a symbolic string. If you specify a numeric octal (not as a string), make sure to include python's octal prefix: `0o` like in `0o644`. If you specify the octal as a string, the `Oo` prefix is optional (like `644`). If you specify a symbolic file mode string, you must provide 9 characters with \"-\" in place of any absent permissions (like `'rw-r--r--'`).\n\nFor example to specify world readable/executable and user writable, these are equivalent:\n\n- `0o755` - `'755'` - `'rwxr-xr-x'`\n\nAnother example for a file with read/write permissions for only the user:\n\n- `0o600` - `'600'` - `'rw-------'`\n\nAnother example for a file with the group sticky bit set:\n\n- `0o2660` - `'2660'` - `'rw-rwS---'`\n\nWARNING: If you forget to include the `0o` prefix on a numeric octal, then it will be interpreted as an integer which is probably not what you want. For example, `755` (no quotes) will be processed as `0o1363` (symbolically that would be '-wxrw--wt') which is probably not what you intended. Pants cannot detect errors like this, so be careful to either use a string or include the `0o` octal prefix.", + "provider": "", + "required": false, + "type_hint": "int | str | None" + }, + { + "alias": "file_mtime", + "default": "'1980-01-01T00:00:00Z'", + "description": "The file modification time as an RFC 3339 formatted string.\n\nFor example: 2008-01-02T15:04:05Z\n\nThe format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html\n\nThough nFPM supports pulling mtime from the src file or directory in most cases, the pants nfpm backend does not support this. Reading the mtime from the filesystem is problematic because Pants does not track the mtime of files and does not propagate any file mtime into the sandboxes. Reasons for this include: git does not track mtime, timestamps like mtime cause many issues for reproducible packaging builds, and reproducible builds are required for pants to provide its fine-grained caches.\n\nThe default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable.\n\nSee also: https://reproducible-builds.org/docs/timestamps/", + "provider": "", + "required": false, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.nfpm", + "summary": "A directory in an nFPM package (created on package install)." + }, + "nfpm_content_dirs": { + "alias": "nfpm_content_dirs", + "description": "Multiple directories in an nFPM package (created on package install).", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "dirs", + "default": null, + "description": "A list of install path for 'dst' directories.\n\nWhen the package gets installed, each directory will be created.\n\nEach path is an absolute path on the file system where the package will be installed.", + "provider": "", + "required": true, + "type_hint": "Iterable[str]" + }, + { + "alias": "overrides", + "default": null, + "description": "Override the field values for generated `nfpm_content_dir` targets.\n\nThis expects a dictionary of 'dst' files to a dictionary for the overrides.", + "provider": "", + "required": false, + "type_hint": "dict | None" + }, + { + "alias": "file_owner", + "default": "'root'", + "description": "Username that should own this packaged file or directory.\n\nThis is like the OWNER arg in chown: https://www.mankier.com/1/chown", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "file_group", + "default": "'root'", + "description": "Name of the group that should own this packaged file or directory.\n\nThis is like the GROUP arg in chown: https://www.mankier.com/1/chown", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "file_mode", + "default": null, + "description": "A file mode as a numeric octal, an string octal, or a symbolic representation.\n\nNB: In most cases, you should set this field and not rely on the default value. Pants only tracks the executable bit for workspace files. So, this field defaults to 0o755 for executable files and 0o644 for files that are not executable.\n\nYou may specify the file mode as: an octal, an octal string, or a symbolic string. If you specify a numeric octal (not as a string), make sure to include python's octal prefix: `0o` like in `0o644`. If you specify the octal as a string, the `Oo` prefix is optional (like `644`). If you specify a symbolic file mode string, you must provide 9 characters with \"-\" in place of any absent permissions (like `'rw-r--r--'`).\n\nFor example to specify world readable/executable and user writable, these are equivalent:\n\n- `0o755` - `'755'` - `'rwxr-xr-x'`\n\nAnother example for a file with read/write permissions for only the user:\n\n- `0o600` - `'600'` - `'rw-------'`\n\nAnother example for a file with the group sticky bit set:\n\n- `0o2660` - `'2660'` - `'rw-rwS---'`\n\nWARNING: If you forget to include the `0o` prefix on a numeric octal, then it will be interpreted as an integer which is probably not what you want. For example, `755` (no quotes) will be processed as `0o1363` (symbolically that would be '-wxrw--wt') which is probably not what you intended. Pants cannot detect errors like this, so be careful to either use a string or include the `0o` octal prefix.", + "provider": "", + "required": false, + "type_hint": "int | str | None" + }, + { + "alias": "file_mtime", + "default": "'1980-01-01T00:00:00Z'", + "description": "The file modification time as an RFC 3339 formatted string.\n\nFor example: 2008-01-02T15:04:05Z\n\nThe format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html\n\nThough nFPM supports pulling mtime from the src file or directory in most cases, the pants nfpm backend does not support this. Reading the mtime from the filesystem is problematic because Pants does not track the mtime of files and does not propagate any file mtime into the sandboxes. Reasons for this include: git does not track mtime, timestamps like mtime cause many issues for reproducible packaging builds, and reproducible builds are required for pants to provide its fine-grained caches.\n\nThe default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable.\n\nSee also: https://reproducible-builds.org/docs/timestamps/", + "provider": "", + "required": false, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.nfpm", + "summary": "Multiple directories in an nFPM package (created on package install)." + }, + "nfpm_content_file": { + "alias": "nfpm_content_file", + "description": "A file (of any type) that should be copied into an nFPM package.\n\nThe file comes from either the 'source' field or from any of the targets listed in the 'dependencies' field. The file may be a workspace file, a generated file, or even a package.\n\nThe '' field tells nFPM where the file is in the sandbox. The '' field tells nFPM where the file should be installed by the nFPM-generated package.", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "source", + "default": null, + "description": "A file that should be copied into an nFPM package (optional).\n\nEither specify a file with 'source', or use 'dependencies' to add a dependency on the target that owns the file.\n\nIf both 'src' and 'source' are populated, then the file in 'source' will be placed in the sandbox at the 'src' path (similar to how the 'relocated_files' target works).", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "dependencies", + "default": null, + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "src", + "default": null, + "description": "A file path that should be included in the package.\n\nWhen the package gets installed, the file from 'src' will be installed using the absolute path in 'dst'.\n\nThis path should be relative to the sandbox. The path should point to a generated file or a real file sourced from the workspace.\n\nEither 'src' or 'source' is required. If the 'source' field is provided, then the 'src' defaults to the file referenced in the 'source' field.\n\nIf both 'src' and 'source' are populated, then the file in 'source' will be placed in the sandbox at the 'src' path (similar to how the 'relocated_files' target works).", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "dst", + "default": null, + "description": "The absolute install path for a packaged file.\n\nWhen the package gets installed, the file from 'src' will be installed using the absolute path in 'dst'.\n\nThis path is an absolute path on the file system where the package will be installed.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "content_type", + "default": "''", + "description": "The nFPM content type for the packaged file.\n\nThe content type can be either\n - '': a normal file (the default), or\n - 'config': a config file.\n\nFor RPM packaged files, the content type can also be one of:\n - 'config|noreplace',\n - 'doc',\n - 'license', and\n - 'readme'.\n\nThe 'config|noreplace' type is used for RPM's `%config(noreplace)` option. For packagers other than RPM, using 'config|noreplace' is the same as 'config' and the remaining RPM-specific types are the same as '', a normal file.\n\nThis field only supports file-specific nFPM content types. Please use these targets for non-file content:\n - For 'dir' content, use targets `nfpm_content_dir` and `nfpm_content_dirs`.\n - For 'symlink' content, use targets `nfpm_content_symlink` and `nfpm_content_symlinks`.\n - For RPM 'ghost' content, use field 'ghost_contents' on target `nfpm_rpm_package`.\n\nThe nFPM 'tree' content type is not supported. Before passing the list of package contents to nFPM, pants expands target generators and any globs, so the 'tree' content type does not make sense.", + "provider": "", + "required": false, + "type_hint": "'' | 'config' | 'config|noreplace' | 'doc' | 'license' | 'readme' | None" + }, + { + "alias": "file_owner", + "default": "'root'", + "description": "Username that should own this packaged file or directory.\n\nThis is like the OWNER arg in chown: https://www.mankier.com/1/chown", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "file_group", + "default": "'root'", + "description": "Name of the group that should own this packaged file or directory.\n\nThis is like the GROUP arg in chown: https://www.mankier.com/1/chown", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "file_mode", + "default": null, + "description": "A file mode as a numeric octal, an string octal, or a symbolic representation.\n\nNB: In most cases, you should set this field and not rely on the default value. Pants only tracks the executable bit for workspace files. So, this field defaults to 0o755 for executable files and 0o644 for files that are not executable.\n\nYou may specify the file mode as: an octal, an octal string, or a symbolic string. If you specify a numeric octal (not as a string), make sure to include python's octal prefix: `0o` like in `0o644`. If you specify the octal as a string, the `Oo` prefix is optional (like `644`). If you specify a symbolic file mode string, you must provide 9 characters with \"-\" in place of any absent permissions (like `'rw-r--r--'`).\n\nFor example to specify world readable/executable and user writable, these are equivalent:\n\n- `0o755` - `'755'` - `'rwxr-xr-x'`\n\nAnother example for a file with read/write permissions for only the user:\n\n- `0o600` - `'600'` - `'rw-------'`\n\nAnother example for a file with the group sticky bit set:\n\n- `0o2660` - `'2660'` - `'rw-rwS---'`\n\nWARNING: If you forget to include the `0o` prefix on a numeric octal, then it will be interpreted as an integer which is probably not what you want. For example, `755` (no quotes) will be processed as `0o1363` (symbolically that would be '-wxrw--wt') which is probably not what you intended. Pants cannot detect errors like this, so be careful to either use a string or include the `0o` octal prefix.", + "provider": "", + "required": false, + "type_hint": "int | str | None" + }, + { + "alias": "file_mtime", + "default": "'1980-01-01T00:00:00Z'", + "description": "The file modification time as an RFC 3339 formatted string.\n\nFor example: 2008-01-02T15:04:05Z\n\nThe format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html\n\nThough nFPM supports pulling mtime from the src file or directory in most cases, the pants nfpm backend does not support this. Reading the mtime from the filesystem is problematic because Pants does not track the mtime of files and does not propagate any file mtime into the sandboxes. Reasons for this include: git does not track mtime, timestamps like mtime cause many issues for reproducible packaging builds, and reproducible builds are required for pants to provide its fine-grained caches.\n\nThe default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable.\n\nSee also: https://reproducible-builds.org/docs/timestamps/", + "provider": "", + "required": false, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.nfpm", + "summary": "A file (of any type) that should be copied into an nFPM package." + }, + "nfpm_content_files": { + "alias": "nfpm_content_files", + "description": "Multiple files that should be copied into an nFPM package.\n\nPass the list of ('src', 'dst') file tuples in the 'files' field. The 'src' files must be provided by or generated by the targets in 'dependencies'.", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "files", + "default": null, + "description": "A list of 2-tuples ('src', 'dst').\n\nThe second part, `dst', must be unique across all entries.", + "provider": "", + "required": true, + "type_hint": "Iterable[Iterable[str]]" + }, + { + "alias": "overrides", + "default": null, + "description": "Override the field values for generated `nfpm_content_file` targets.\n\nThis expects a dictionary of 'dst' files to a dictionary for the overrides.", + "provider": "", + "required": false, + "type_hint": "dict | None" + }, + { + "alias": "dependencies", + "default": null, + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "content_type", + "default": "''", + "description": "The nFPM content type for the packaged file.\n\nThe content type can be either\n - '': a normal file (the default), or\n - 'config': a config file.\n\nFor RPM packaged files, the content type can also be one of:\n - 'config|noreplace',\n - 'doc',\n - 'license', and\n - 'readme'.\n\nThe 'config|noreplace' type is used for RPM's `%config(noreplace)` option. For packagers other than RPM, using 'config|noreplace' is the same as 'config' and the remaining RPM-specific types are the same as '', a normal file.\n\nThis field only supports file-specific nFPM content types. Please use these targets for non-file content:\n - For 'dir' content, use targets `nfpm_content_dir` and `nfpm_content_dirs`.\n - For 'symlink' content, use targets `nfpm_content_symlink` and `nfpm_content_symlinks`.\n - For RPM 'ghost' content, use field 'ghost_contents' on target `nfpm_rpm_package`.\n\nThe nFPM 'tree' content type is not supported. Before passing the list of package contents to nFPM, pants expands target generators and any globs, so the 'tree' content type does not make sense.", + "provider": "", + "required": false, + "type_hint": "'' | 'config' | 'config|noreplace' | 'doc' | 'license' | 'readme' | None" + }, + { + "alias": "file_owner", + "default": "'root'", + "description": "Username that should own this packaged file or directory.\n\nThis is like the OWNER arg in chown: https://www.mankier.com/1/chown", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "file_group", + "default": "'root'", + "description": "Name of the group that should own this packaged file or directory.\n\nThis is like the GROUP arg in chown: https://www.mankier.com/1/chown", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "file_mode", + "default": null, + "description": "A file mode as a numeric octal, an string octal, or a symbolic representation.\n\nNB: In most cases, you should set this field and not rely on the default value. Pants only tracks the executable bit for workspace files. So, this field defaults to 0o755 for executable files and 0o644 for files that are not executable.\n\nYou may specify the file mode as: an octal, an octal string, or a symbolic string. If you specify a numeric octal (not as a string), make sure to include python's octal prefix: `0o` like in `0o644`. If you specify the octal as a string, the `Oo` prefix is optional (like `644`). If you specify a symbolic file mode string, you must provide 9 characters with \"-\" in place of any absent permissions (like `'rw-r--r--'`).\n\nFor example to specify world readable/executable and user writable, these are equivalent:\n\n- `0o755` - `'755'` - `'rwxr-xr-x'`\n\nAnother example for a file with read/write permissions for only the user:\n\n- `0o600` - `'600'` - `'rw-------'`\n\nAnother example for a file with the group sticky bit set:\n\n- `0o2660` - `'2660'` - `'rw-rwS---'`\n\nWARNING: If you forget to include the `0o` prefix on a numeric octal, then it will be interpreted as an integer which is probably not what you want. For example, `755` (no quotes) will be processed as `0o1363` (symbolically that would be '-wxrw--wt') which is probably not what you intended. Pants cannot detect errors like this, so be careful to either use a string or include the `0o` octal prefix.", + "provider": "", + "required": false, + "type_hint": "int | str | None" + }, + { + "alias": "file_mtime", + "default": "'1980-01-01T00:00:00Z'", + "description": "The file modification time as an RFC 3339 formatted string.\n\nFor example: 2008-01-02T15:04:05Z\n\nThe format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html\n\nThough nFPM supports pulling mtime from the src file or directory in most cases, the pants nfpm backend does not support this. Reading the mtime from the filesystem is problematic because Pants does not track the mtime of files and does not propagate any file mtime into the sandboxes. Reasons for this include: git does not track mtime, timestamps like mtime cause many issues for reproducible packaging builds, and reproducible builds are required for pants to provide its fine-grained caches.\n\nThe default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable.\n\nSee also: https://reproducible-builds.org/docs/timestamps/", + "provider": "", + "required": false, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.nfpm", + "summary": "Multiple files that should be copied into an nFPM package." + }, + "nfpm_content_symlink": { + "alias": "nfpm_content_symlink", + "description": "A symlink in an nFPM package (created on package install).", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "src", + "default": null, + "description": "The symlink target path (on package install).\n\nWhen the package gets installed, a symlink will be installed at the 'dst' path. The symlink will point to the 'src' path (the symlink target).\n\nThis path is a path on the file system where the package will be installed. If this path is absolute, it is the absolute path to the symlink's target path. If this path is relative, it is relative to the 'dst' path, which is where the symlink will be created.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "dst", + "default": null, + "description": "The symlink path (on package install).\n\nWhen the package gets installed, a symlink will be installed at the 'dst' path. The symlink will point to the 'src' path (the symlink target).\n\nThis path is an absolute path on the file system where the package will be installed.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "file_owner", + "default": "'root'", + "description": "Username that should own this packaged file or directory.\n\nThis is like the OWNER arg in chown: https://www.mankier.com/1/chown", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "file_group", + "default": "'root'", + "description": "Name of the group that should own this packaged file or directory.\n\nThis is like the GROUP arg in chown: https://www.mankier.com/1/chown", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "file_mode", + "default": null, + "description": "A file mode as a numeric octal, an string octal, or a symbolic representation.\n\nNB: In most cases, you should set this field and not rely on the default value. Pants only tracks the executable bit for workspace files. So, this field defaults to 0o755 for executable files and 0o644 for files that are not executable.\n\nYou may specify the file mode as: an octal, an octal string, or a symbolic string. If you specify a numeric octal (not as a string), make sure to include python's octal prefix: `0o` like in `0o644`. If you specify the octal as a string, the `Oo` prefix is optional (like `644`). If you specify a symbolic file mode string, you must provide 9 characters with \"-\" in place of any absent permissions (like `'rw-r--r--'`).\n\nFor example to specify world readable/executable and user writable, these are equivalent:\n\n- `0o755` - `'755'` - `'rwxr-xr-x'`\n\nAnother example for a file with read/write permissions for only the user:\n\n- `0o600` - `'600'` - `'rw-------'`\n\nAnother example for a file with the group sticky bit set:\n\n- `0o2660` - `'2660'` - `'rw-rwS---'`\n\nWARNING: If you forget to include the `0o` prefix on a numeric octal, then it will be interpreted as an integer which is probably not what you want. For example, `755` (no quotes) will be processed as `0o1363` (symbolically that would be '-wxrw--wt') which is probably not what you intended. Pants cannot detect errors like this, so be careful to either use a string or include the `0o` octal prefix.", + "provider": "", + "required": false, + "type_hint": "int | str | None" + }, + { + "alias": "file_mtime", + "default": "'1980-01-01T00:00:00Z'", + "description": "The file modification time as an RFC 3339 formatted string.\n\nFor example: 2008-01-02T15:04:05Z\n\nThe format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html\n\nThough nFPM supports pulling mtime from the src file or directory in most cases, the pants nfpm backend does not support this. Reading the mtime from the filesystem is problematic because Pants does not track the mtime of files and does not propagate any file mtime into the sandboxes. Reasons for this include: git does not track mtime, timestamps like mtime cause many issues for reproducible packaging builds, and reproducible builds are required for pants to provide its fine-grained caches.\n\nThe default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable.\n\nSee also: https://reproducible-builds.org/docs/timestamps/", + "provider": "", + "required": false, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.nfpm", + "summary": "A symlink in an nFPM package (created on package install)." + }, + "nfpm_content_symlinks": { + "alias": "nfpm_content_symlinks", + "description": "Multiple symlinks in an nFPM package (created on package install).\n\nPass the list of ('src', 'dst') symlink tuples in the 'symlinks' field.\n\nNote that 'src' is commonly known as the symlink \"target\" and 'dst' is the path to the symlink itself, also known as the symlink \"name\".", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "symlinks", + "default": null, + "description": "A list of 2-tuples ('src', 'dst').\n\nThe second part, `dst', must be unique across all entries.", + "provider": "", + "required": true, + "type_hint": "Iterable[Iterable[str]]" + }, + { + "alias": "overrides", + "default": null, + "description": "Override the field values for generated `nfpm_content_symlink` targets.\n\nThis expects a dictionary of 'dst' files to a dictionary for the overrides.", + "provider": "", + "required": false, + "type_hint": "dict | None" + }, + { + "alias": "file_owner", + "default": "'root'", + "description": "Username that should own this packaged file or directory.\n\nThis is like the OWNER arg in chown: https://www.mankier.com/1/chown", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "file_group", + "default": "'root'", + "description": "Name of the group that should own this packaged file or directory.\n\nThis is like the GROUP arg in chown: https://www.mankier.com/1/chown", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "file_mode", + "default": null, + "description": "A file mode as a numeric octal, an string octal, or a symbolic representation.\n\nNB: In most cases, you should set this field and not rely on the default value. Pants only tracks the executable bit for workspace files. So, this field defaults to 0o755 for executable files and 0o644 for files that are not executable.\n\nYou may specify the file mode as: an octal, an octal string, or a symbolic string. If you specify a numeric octal (not as a string), make sure to include python's octal prefix: `0o` like in `0o644`. If you specify the octal as a string, the `Oo` prefix is optional (like `644`). If you specify a symbolic file mode string, you must provide 9 characters with \"-\" in place of any absent permissions (like `'rw-r--r--'`).\n\nFor example to specify world readable/executable and user writable, these are equivalent:\n\n- `0o755` - `'755'` - `'rwxr-xr-x'`\n\nAnother example for a file with read/write permissions for only the user:\n\n- `0o600` - `'600'` - `'rw-------'`\n\nAnother example for a file with the group sticky bit set:\n\n- `0o2660` - `'2660'` - `'rw-rwS---'`\n\nWARNING: If you forget to include the `0o` prefix on a numeric octal, then it will be interpreted as an integer which is probably not what you want. For example, `755` (no quotes) will be processed as `0o1363` (symbolically that would be '-wxrw--wt') which is probably not what you intended. Pants cannot detect errors like this, so be careful to either use a string or include the `0o` octal prefix.", + "provider": "", + "required": false, + "type_hint": "int | str | None" + }, + { + "alias": "file_mtime", + "default": "'1980-01-01T00:00:00Z'", + "description": "The file modification time as an RFC 3339 formatted string.\n\nFor example: 2008-01-02T15:04:05Z\n\nThe format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html\n\nThough nFPM supports pulling mtime from the src file or directory in most cases, the pants nfpm backend does not support this. Reading the mtime from the filesystem is problematic because Pants does not track the mtime of files and does not propagate any file mtime into the sandboxes. Reasons for this include: git does not track mtime, timestamps like mtime cause many issues for reproducible packaging builds, and reproducible builds are required for pants to provide its fine-grained caches.\n\nThe default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable.\n\nSee also: https://reproducible-builds.org/docs/timestamps/", + "provider": "", + "required": false, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.nfpm", + "summary": "Multiple symlinks in an nFPM package (created on package install)." + }, + "nfpm_deb_package": { + "alias": "nfpm_deb_package", + "description": "A Debian system package built by nFPM.\n\nThis will not install the package, only create a .deb file that you can then distribute and install, e.g. via pkg.\n\nSee https://www.pantsbuild.org/nfpm-deb-package.", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "output_path", + "default": "'${spec_path_normalized}/${target_name_normalized}${file_suffix}'", + "description": "Where the built directory tree should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/project/packaging:rpm` would be `src.project.packaging/rpm/`.\n\nRegardless of whether you use the default or set this field, the package's file name will have the packaging system's conventional filename (as understood by nFPM). So, an rpm using the default for this field, the target `src/project/packaging:rpm` might have a final path like `src.project.packaging/rpm/projectname-1.2.3-1.x86_64.rpm`. Similarly, for deb, the target `src/project/packaging:deb` might have a final path like `src.project.packaging/deb/projectname_1.2.3+git-1_x86_64.deb`. The other packagers have their own formats as well.\n\nWhen running `pants package`, this path will be prefixed by `--distdir` (e.g. `dist/`).\n\nWarning: setting this value risks naming collisions with other package targets you may have.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "mtime", + "default": "'1980-01-01T00:00:00Z'", + "description": "The file modification time as an RFC 3339 formatted string.\n\nFor example: 2008-01-02T15:04:05Z\n\nThe format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html\n\nNOTE: This field does NOT set the mtime for package contents. It sets the build time in package metadata (for package types that have that metadata), as well as the file modification time for files that nFPM generates in the package. To set the mtime for package contents, use the `file_mtime` field on the relevant `nfpm_content_*` targets.\n\nThe default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable.\n\nSee also: https://reproducible-builds.org/docs/timestamps/", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "dependencies", + "default": null, + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "package_name", + "default": null, + "description": "The package name.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "arch", + "default": "'amd64'", + "description": "The package architecture.\n\nThis should be a valid GOARCH value (or GOARCH+GOARM) that nFPM can convert into the package-specific equivalent. Otherwise, pants tells nFPM to use this value as-is.\n\nnFPM conversion from GOARCH to package-specific value is documented here: https://nfpm.goreleaser.com/goarch-to-pkg/\n\nUse one of these values unless you need nFPM to use your value as-is: '386', 'all', 'amd64', 'arm5', 'arm6', 'arm7', 'arm64', 'loong64', 'mips', 'mipsle', 'mips64', 'mips64le', 'ppc64', 'ppc64le', 'riscv64', 's390', 's390x', 'sparc64', 'wasm'", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "platform", + "default": "'linux'", + "description": "The package platform or OS.\n\nYou probably do not need to change the package's OS. nFPM is designed with the assumption that this is a GOOS value (since nFPM is part of the \"goreleaser\" project). But, nFPM does not do much with it.\n\nFor archlinux and apk, the only valid value is 'linux'. For deb, this can be used as part of the 'Architecture' entry. For rpm, this populates the \"OS\" tag.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "version", + "default": null, + "description": "The package version (preferably following semver).\n\nIf 'version_schema' is not 'semver', then this should not be prefixed with a 'v' because some package managers, like deb, require the version start with a digit.\n\nSee the 'version_schema' field's help for more details about how this field gets parsed by nFPM when it is 'semver'.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "version_schema", + "default": "'semver'", + "description": "Which schema the 'version' field follows.\n\nnFPM only supports two schemas for now: semver, none\n\nIf this is \"none\", then nFPM will use 'version' as-is.\n\nIf this is \"semver\", then nFPM will parse 'version' into its constituent parts using a lenient algorithm: It will strip a `v` prefix and will accept versions with fewer than 3 components, like `v1.2`. If parsing fails, then the version is used as-is. If parsing succeeds, nFPM replaces config options with the parsed components.\n\nThe 'version' field always gets replaced with a dotted 3 part version (Major.Minor.Patch).\n\nThe 'version_prerelease' field is only updated if not set. It gets the \"dev\", \"alpha\", \"rc\", or similar parsed prerelease indicator.\n\nThe 'version_metadata' field is only updated if not set. This will be set with \"git\" when the version contains \"+git\" and similar metadata tags.\n\nThe 'version_release' and 'version_epoch' fields are NOT replaced by components parsed from 'version'.\n\nN.B.: Some of these fields are not available for all package types.\n\nThis field is named \"version\" because that is the term used by nFPM. Though deb and rpm packaging also use \"version\", this is known as \"pkgver\" in apk and archlinux packaging.", + "provider": "", + "required": false, + "type_hint": "'none' | 'semver' | None" + }, + { + "alias": "version_prerelease", + "default": null, + "description": "This is a pre-release indicator like \"alpha\" or \"beta\" and often includes a numeric component like \"rc1\" and \"rc2\".\n\nFor apk and archlinux, version and prerelease are merely concatenated. For deb and rpm, prerelease is typically prefixed with a \"~\" in the version.\n\nnFPM extracts the default for this from 'version' if it is semver compatible. If you set 'version_prerelease', then any prerelease component of 'version' gets discarded.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "version_metadata", + "default": null, + "description": "This is package-manager specific metadata for the version.\n\nThis is typically prefixed with a \"+\" in the version. If the version contains \"+git\", then the 'version_metadata' is \"git\". Debian has various conventions for this metadata, including things like \"+b\", \"+nmu\", \"+really\", and \"+deb10u1\". See: https://www.debian.org/doc/debian-policy/ch-controlfields.html#special-version-conventions\n\nnFPM extracts the default for this from 'version' if it is semver compatible. If you set 'version_metadata', then any metadata component of 'version' gets discarded.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "version_release", + "default": "1", + "description": "The release or revision number for a given package version.\n\nIncrement the release each time you release the same version of the package. Often, these releases allow for correcting metadata about a package or to rebuild something that was broken in a previous release of that version.\n\nReset this to 1 whenever you bump the 'version' field.\n\nN.B.: nFPM does NOT parse this from the 'version' field.", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "version_epoch", + "default": null, + "description": "A package with a higher version epoch will always be considered newer. This is primarily useful when the version numbering scheme has changed.\n\nDebian and RPM documentation warn against using epoch in most cases: https://www.debian.org/doc/debian-policy/ch-controlfields.html#epochs-should-be-used-sparingly https://rpm-packaging-guide.github.io/#epoch\n\nWhen this field is None (the default) nFPM will use \"\" for deb packages, and \"0\" for rpm packages.\n\nN.B.: The nFPM documentation incorrectly notes that nFPM can parse this from the 'version' field; the nFPM code actually does not replace or update this.", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "homepage", + "default": null, + "description": "The URL of this package's homepage like \"https://example.com\".\n\nThis field is named \"homepage\" instead of \"url\" because that is the term used by nFPM, which adopted the term from deb packaging. The term \"url\" is used by apk, archlinux, and rpm packaging.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "license", + "default": null, + "description": "The license of this package.\n\nWhere possible, please try to use the SPDX license identifiers (for example \"Apache-2.0\", \"BSD-3-Clause\", \"GPL-3.0-or-later\", or \"MIT\"): https://spdx.org/licenses/\n\nFor more complex cases, where the package includes software with multiple licenses, consider using an SPDX license expression: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/\n\nSee also these rpm-specific descriptions of how to set this field (this is helpful info even if you are not using rpm): https://docs.fedoraproject.org/en-US/legal/license-field/\n\nnFPM does not yet generate the debian/copyright file, so this field is technically unused for now. Even for deb, we recommend using this field to document the software license for this package. See also these pages about specifying a license for deb packaging: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification https://wiki.debian.org/Proposals/CopyrightFormat#Differences_between_DEP5_and_SPDX", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "maintainer", + "default": null, + "description": "The name and email address of the package maintainer.\n\nThe 'maintainer' is used to identify who actually packaged the software, as opposed to the author of the software.\n\nThe name is first, then the email address inside angle brackets `<>` (in RFC5322 format). For example: \"Foo Bar \"\n\nSee: https://www.debian.org/doc/debian-policy/ch-controlfields.html#maintainer", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "section", + "default": null, + "description": "Which section, or application area, this package is part of.\n\nFor example, you could classify your application under the \"education\" section, or under a language section like \"python\", \"rust\", or \"ruby\".\n\nSee: https://www.debian.org/doc/debian-policy/ch-archive.html#sections\n\nValid sections are listed here: https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "priority", + "default": "'optional'", + "description": "Indicates how important the package is for OS functions.\n\nMost packages should just stick with the default priority: \"optional\".\n\nSee: https://www.debian.org/doc/debian-policy/ch-archive.html#s-f-priority\n\nValid priorities are listed here: https://www.debian.org/doc/debian-policy/ch-archive.html#priorities", + "provider": "", + "required": false, + "type_hint": "'extra' | 'important' | 'optional' | 'required' | 'standard' | None" + }, + { + "alias": "fields", + "default": null, + "description": "Additional fields for the control file. Empty fields are ignored.\n\nDebian control files supports more fields than the options that are exposed by nFPM and the pants nfpm backend. Debian even allows for user-defined fields. So, this 'fields' field provides a way to add any additional fields to the debian control file.\n\nSee: https://www.debian.org/doc/debian-policy/ch-controlfields.html#user-defined-fields", + "provider": "", + "required": false, + "type_hint": "Dict[str, str] | None" + }, + { + "alias": "triggers", + "default": null, + "description": "Custom deb triggers.\n\nnFPM uses this to create a deb triggers file, so that the package can declare its \"interest\" in named triggers or declare that the indicated triggers should \"activate\" when this package's state changes.\n\nThe Debian documentation describes the format for the triggers file. nFPM simplifies that by accepting a dictionary from trigger directives to lists of trigger names.\n\nFor example (note the underscore in \"interest_noawait\"):\n\n`triggers={\"interest_noawait\": [\"some-trigger\", \"other-trigger\"]}`\n\nGets translated by nFPM into:\n\n``` interest-noawait some-trigger interest-noawait other-trigger ```\n\nSee: https://wiki.debian.org/DpkgTriggers https://www.mankier.com/5/deb-triggers", + "provider": "", + "required": false, + "type_hint": "dict | None" + }, + { + "alias": "replaces", + "default": null, + "description": "A list of packages that this package replaces or partially replaces.\n\nTo declare that this package partially replaces another package, by taking ownership of files in that package, include that other package in both 'replaces' and 'breaks'.\n\nIf this package completely replaces the other package, you can force its removal by including the other package in both 'replaces' and 'conflicts' (and 'provides' if it is a virtual package).\n\nSee: https://www.debian.org/doc/debian-policy/ch-relationships.html#overwriting-files-and-replacing-packages-replaces", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "provides", + "default": null, + "description": "A list of virtual packages that this package provides.\n\nEach entry can be either a package name, or a package name with a version. The version, however, must be declared with `=` (not `<<`, `<=`, etc)\n\nFor example, these declare virtual packages foo and bar.\n\n- \"foo\" - \"bar (=1.0.0)\"\n\nIf several packages declare the same 'provides', then they might need to declare that they conflict with each other using 'conflicts' if, for example, they also install a binary with the same path.\n\nSee: https://www.debian.org/doc/debian-policy/ch-relationships.html#virtual-packages-provides", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "depends", + "default": null, + "description": "List of package dependencies (for package installers).\n\nThe 'depends' field has install-time dependencies that can use version selectors (with one of `<<`, `<=`, `=`, `>=`, `>>` in parentheses) or use `|` to specify package alternatives that equally satisfy a dependency.\n\n- \"git\" - \"libc6 (>= 2.2.1)\" - \"default-mta | mail-transport-agent\"\n\nMake sure to include package dependencies of this package as well as any packages required by the `postinstall`, `postupgrade`, or `preremove` scripts.\n\nWARNING: This is NOT the same as the 'dependencies' field! It does not accept pants-style dependencies like target addresses.\n\nSee: https://www.debian.org/doc/debian-policy/ch-relationships.html", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "predepends", + "default": null, + "description": "List of package unpack-time dependencies (for package installers).\n\nIn most cases, you should use the 'depends' field instead of this one to declare install-time package dependencies. The 'predepends' field has install-time dependencies that need to be available (including unpacking, pre-install, and post-install scripts) before unpacking or installing this package.\n\nMake sure to include packages required by the `preinst` script.\n\nWARNING: This is NOT the same as the 'dependencies' field! It does not accept pants-style dependencies like target addresses.\n\nSee: https://www.debian.org/doc/debian-policy/ch-relationships.html", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "recommends", + "default": null, + "description": "List of optional package dependencies (for package installers).\n\nThe 'recommends' field has packages that can be excluded in \"unusual installations\" but should generally be installed with this package.\n\nWARNING: This is NOT the same as the 'dependencies' field! It does not accept pants-style dependencies like target addresses.\n\nSee: https://www.debian.org/doc/debian-policy/ch-relationships.html", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "suggests", + "default": null, + "description": "A list of package suggestions (for package installers).\n\nThese packages are completely optional, but could be useful for users of this package to install as well.\n\nSee: https://www.debian.org/doc/debian-policy/ch-relationships.html", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "conflicts", + "default": null, + "description": "A list of packages that this package conflicts with.\n\nGenerally, you should use 'breaks' instead of 'conflicts', because 'conflicts' imposes much more strict requirements on the order of package installs and removals. Use this if the conflicting packages must be completely uninstalled before this package can be installed.\n\nFor example, this is how to declare that this package conflicts with the foo (version 2.5 or less) and bar packages, so they must be uninstalled before this package can be installed.\n\n- \"foo (<2.6)\" - \"bar\"\n\nSee: https://www.debian.org/doc/debian-policy/ch-relationships.html#conflicting-binary-packages-conflicts", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "breaks", + "default": null, + "description": "A list of packages which would break if this package would be installed.\n\nThe installation of this package is blocked (by package installers) if any packages in this list are already installed. This is a looser package relationship than the 'conflicts' field, because it allows the package installer more flexibility on ordering package installs and removals (For example, if this package breaks \"bar\", then \"bar\" can be removed after this package when it gets removed in the same package install transaction).\n\nFor example, this is how to declare that this breaks package foo, but only if foo version 2.5 or less is installed and it breaks package bar no matter what version is installed.\n\n- \"foo (<2.6)\" - \"bar\"\n\nSee: https://www.debian.org/doc/debian-policy/ch-relationships.html#packages-which-break-other-packages-breaks", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "compression", + "default": "'gzip'", + "description": "The compression algorithm to use on the deb package.", + "provider": "", + "required": false, + "type_hint": "'gzip' | 'none' | 'xz' | 'zstd' | None" + }, + { + "alias": "scripts", + "default": null, + "description": "Map of maintainer script source files for the deb package.\n\nThis maps the script type (key) to the script source file (value). Each of the script source file(s) must be provided via 'dependencies'. The script types are the names used by nFPM. For reference, Debian uses the following file names instead:\n\n | nFPM script | Debian file |\n +-------------+-------------+\n | preinstall | preinst |\n | postinstall | postinst |\n | preremove | prerm |\n | postremove | postrm |\n | config | config |\n | templates | templates |\n | rules | rules |\n\nThe `pre*` and `post*` scripts are used by `dpkg` at various stages of installing, upgrading, and removing the deb package.\n\nThe `config` script and `templates` file are part of the Debian Configuration Management Specification. `config` can run at any time, including before `preinst` to prompt the user for package configuration using `debconf`. `templates` is used by `debconf` to create those prompts.\n\nThe `rules` script is only needed for source packages. This script is an executable makefile that can build a binary from the packaged sources.\n\nPlease consult the Debian docs to understand when `dpkg` or `debconf` will run each of these scripts, what assumptions you can safely make when they run, and how `dpkg` handles a failure.\n\nSee: https://www.debian.org/doc/debian-policy/ch-binary.html#maintainer-scripts https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html https://www.debian.org/doc/debian-policy/ap-flowcharts.html http://www.fifi.org/doc/debconf-doc/tutorial.html https://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules", + "provider": "", + "required": false, + "type_hint": "dict | None" + } + ], + "provider": "pants.backend.experimental.nfpm", + "summary": "A Debian system package built by nFPM." + }, + "nfpm_rpm_package": { + "alias": "nfpm_rpm_package", + "description": "An RPM system package built by nFPM.\n\nThis will not install the package, only create an .rpm file that you can then distribute and install, e.g. via pkg.\n\nSee https://www.pantsbuild.org/nfpm-rpm-package.", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "output_path", + "default": "'${spec_path_normalized}/${target_name_normalized}${file_suffix}'", + "description": "Where the built directory tree should be located.\n\nIf undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/project/packaging:rpm` would be `src.project.packaging/rpm/`.\n\nRegardless of whether you use the default or set this field, the package's file name will have the packaging system's conventional filename (as understood by nFPM). So, an rpm using the default for this field, the target `src/project/packaging:rpm` might have a final path like `src.project.packaging/rpm/projectname-1.2.3-1.x86_64.rpm`. Similarly, for deb, the target `src/project/packaging:deb` might have a final path like `src.project.packaging/deb/projectname_1.2.3+git-1_x86_64.deb`. The other packagers have their own formats as well.\n\nWhen running `pants package`, this path will be prefixed by `--distdir` (e.g. `dist/`).\n\nWarning: setting this value risks naming collisions with other package targets you may have.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "mtime", + "default": "'1980-01-01T00:00:00Z'", + "description": "The file modification time as an RFC 3339 formatted string.\n\nFor example: 2008-01-02T15:04:05Z\n\nThe format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html\n\nNOTE: This field does NOT set the mtime for package contents. It sets the build time in package metadata (for package types that have that metadata), as well as the file modification time for files that nFPM generates in the package. To set the mtime for package contents, use the `file_mtime` field on the relevant `nfpm_content_*` targets.\n\nThe default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable.\n\nSee also: https://reproducible-builds.org/docs/timestamps/", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "dependencies", + "default": null, + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "package_name", + "default": null, + "description": "The package name.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "arch", + "default": "'amd64'", + "description": "The package architecture.\n\nThis should be a valid GOARCH value (or GOARCH+GOARM) that nFPM can convert into the package-specific equivalent. Otherwise, pants tells nFPM to use this value as-is.\n\nnFPM conversion from GOARCH to package-specific value is documented here: https://nfpm.goreleaser.com/goarch-to-pkg/\n\nUse one of these values unless you need nFPM to use your value as-is: '386', 'all', 'amd64', 'arm5', 'arm6', 'arm7', 'arm64', 'loong64', 'mips', 'mipsle', 'mips64', 'mips64le', 'ppc64', 'ppc64le', 'riscv64', 's390', 's390x', 'sparc64', 'wasm'", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "platform", + "default": "'linux'", + "description": "The package platform or OS.\n\nYou probably do not need to change the package's OS. nFPM is designed with the assumption that this is a GOOS value (since nFPM is part of the \"goreleaser\" project). But, nFPM does not do much with it.\n\nFor archlinux and apk, the only valid value is 'linux'. For deb, this can be used as part of the 'Architecture' entry. For rpm, this populates the \"OS\" tag.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "version", + "default": null, + "description": "The package version (preferably following semver).\n\nIf 'version_schema' is not 'semver', then this should not be prefixed with a 'v' because some package managers, like deb, require the version start with a digit.\n\nSee the 'version_schema' field's help for more details about how this field gets parsed by nFPM when it is 'semver'.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "version_schema", + "default": "'semver'", + "description": "Which schema the 'version' field follows.\n\nnFPM only supports two schemas for now: semver, none\n\nIf this is \"none\", then nFPM will use 'version' as-is.\n\nIf this is \"semver\", then nFPM will parse 'version' into its constituent parts using a lenient algorithm: It will strip a `v` prefix and will accept versions with fewer than 3 components, like `v1.2`. If parsing fails, then the version is used as-is. If parsing succeeds, nFPM replaces config options with the parsed components.\n\nThe 'version' field always gets replaced with a dotted 3 part version (Major.Minor.Patch).\n\nThe 'version_prerelease' field is only updated if not set. It gets the \"dev\", \"alpha\", \"rc\", or similar parsed prerelease indicator.\n\nThe 'version_metadata' field is only updated if not set. This will be set with \"git\" when the version contains \"+git\" and similar metadata tags.\n\nThe 'version_release' and 'version_epoch' fields are NOT replaced by components parsed from 'version'.\n\nN.B.: Some of these fields are not available for all package types.\n\nThis field is named \"version\" because that is the term used by nFPM. Though deb and rpm packaging also use \"version\", this is known as \"pkgver\" in apk and archlinux packaging.", + "provider": "", + "required": false, + "type_hint": "'none' | 'semver' | None" + }, + { + "alias": "version_prerelease", + "default": null, + "description": "This is a pre-release indicator like \"alpha\" or \"beta\" and often includes a numeric component like \"rc1\" and \"rc2\".\n\nFor apk and archlinux, version and prerelease are merely concatenated. For deb and rpm, prerelease is typically prefixed with a \"~\" in the version.\n\nnFPM extracts the default for this from 'version' if it is semver compatible. If you set 'version_prerelease', then any prerelease component of 'version' gets discarded.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "version_metadata", + "default": null, + "description": "This is package-manager specific metadata for the version.\n\nThis is typically prefixed with a \"+\" in the version. If the version contains \"+git\", then the 'version_metadata' is \"git\". Debian has various conventions for this metadata, including things like \"+b\", \"+nmu\", \"+really\", and \"+deb10u1\". See: https://www.debian.org/doc/debian-policy/ch-controlfields.html#special-version-conventions\n\nnFPM extracts the default for this from 'version' if it is semver compatible. If you set 'version_metadata', then any metadata component of 'version' gets discarded.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "version_release", + "default": "1", + "description": "The release or revision number for a given package version.\n\nIncrement the release each time you release the same version of the package. Often, these releases allow for correcting metadata about a package or to rebuild something that was broken in a previous release of that version.\n\nReset this to 1 whenever you bump the 'version' field.\n\nN.B.: nFPM does NOT parse this from the 'version' field.", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "version_epoch", + "default": null, + "description": "A package with a higher version epoch will always be considered newer. This is primarily useful when the version numbering scheme has changed.\n\nDebian and RPM documentation warn against using epoch in most cases: https://www.debian.org/doc/debian-policy/ch-controlfields.html#epochs-should-be-used-sparingly https://rpm-packaging-guide.github.io/#epoch\n\nWhen this field is None (the default) nFPM will use \"\" for deb packages, and \"0\" for rpm packages.\n\nN.B.: The nFPM documentation incorrectly notes that nFPM can parse this from the 'version' field; the nFPM code actually does not replace or update this.", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "homepage", + "default": null, + "description": "The URL of this package's homepage like \"https://example.com\".\n\nThis field is named \"homepage\" instead of \"url\" because that is the term used by nFPM, which adopted the term from deb packaging. The term \"url\" is used by apk, archlinux, and rpm packaging.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "license", + "default": null, + "description": "The license of this package.\n\nWhere possible, please try to use the SPDX license identifiers (for example \"Apache-2.0\", \"BSD-3-Clause\", \"GPL-3.0-or-later\", or \"MIT\"): https://spdx.org/licenses/\n\nFor more complex cases, where the package includes software with multiple licenses, consider using an SPDX license expression: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/\n\nSee also these rpm-specific descriptions of how to set this field (this is helpful info even if you are not using rpm): https://docs.fedoraproject.org/en-US/legal/license-field/\n\nnFPM does not yet generate the debian/copyright file, so this field is technically unused for now. Even for deb, we recommend using this field to document the software license for this package. See also these pages about specifying a license for deb packaging: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification https://wiki.debian.org/Proposals/CopyrightFormat#Differences_between_DEP5_and_SPDX", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "packager", + "default": null, + "description": "The name and email address of the packager or packager organization.\n\nThe 'packager' is used to identify who actually packaged the software, as opposed to the author of the software.\n\nThe name is first, then the email address inside angle brackets `<>` (in RFC5322 format). For example: \"Foo Bar \" This format is the conventional format; it not a hard requirement.\n\nSee: https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-PACKAGER-TAG\n\nN.B.: Packages distributed by Fedora do not use this field. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "vendor", + "default": null, + "description": "The entity responsible for packaging (typically an organization).\n\nSee: https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-VENDOR-TAG\n\nN.B.: Packages distributed by Fedora do not use this field. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "group", + "default": null, + "description": "For older rpm-based distros, this groups packages by their functionality.\n\n'group' is a path-like string to allow for hierarchical grouping of applications like \"Applications/Editors\".\n\nSee: https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-GROUP-TAG\n\nN.B.: This field is only useful when packaging for old distros (EL 5 or earlier). All newer rpm-based distros have deprecated--and do not use--this field. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "summary", + "default": null, + "description": "A one-line description of the packaged software.\n\nIf unset, nFPM will use the first line of 'description' for the 'summary'.\n\nSee: https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-SUMMARY-TAG", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "prefixes", + "default": null, + "description": "A list of relocatable prefixes (to support relocatable rpms).\n\nDefining 'prefixes' allows rpm to install your package at an alternative prefix if the user requests that using the `--prefix` flag. This list is the default list of prefixes used by this package. If rpm relocates an installation of this package, it will strip off each of these prefixes, replacing them with the `--prefix` requested by the user.\n\nBefore using this, ensure that any packaged software can actually run from alternate prefixes, and watch out for any absolute symlinks targets which might not be relocated correctly.\n\nRPM specs use the `Prefix:` tag to list each prefix in this list.\n\nSee: https://rpm-software-management.github.io/rpm/manual/tags.html#packages-with-files https://ftp.osuosl.org/pub/rpm/max-rpm/ch-rpm-reloc.html https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-PREFIX-TAG", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "replaces", + "default": null, + "description": "A list of packages that this package obsoletes (replaces).\n\nWhen a pacakge name changes or splits, rpm uses \"obsoletes\" (ie the 'replaces' field) on the new package to list the old package name(s) that can be upgraded to this package.\n\nThe rpm file header uses the term \"obsoletes\" for this. This field is named \"replaces\" because that is the term used by nFPM.\n\nSee: https://rpm-software-management.github.io/rpm/manual/dependencies.html#obsoletes", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "provides", + "default": null, + "description": "A list of virtual packages or file paths that this package provides.\n\nThis is used so that multiple packages can be be alternatives for each other. The list can include virtual package names and/or file paths. For example the `bash` package includes these in 'provides':\n\n- \"bash\" - \"/bin/sh\" - \"/bin/bash\"\n\nThis means another package could also provide alternative implementations for the \"bash\" package name and could provide \"/bin/sh\" and/or \"/bin/bash\".\n\nN.B.: Virtual package names must not include any version numbers.\n\nSee: https://rpm-software-management.github.io/rpm/manual/dependencies.html#provides https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-depend-manual-dependencies.html#S2-RPM-DEPEND-PROVIDES-TAG", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "depends", + "default": null, + "description": "List of package requirements (for package installers).\n\nThe 'depends' field has install-time requirements that can use version selectors (with one of `<`, `<=`, `=`, `>=`, `>` surrounded by spaces), where the version is formatted: `[epoch:]version[-release]`\n\n- \"git\" - \"bash < 5\" - \"perl >= 9:5.00502-3\"\n\nThe rpm file header uses the term \"requires\" for this. This field is named \"depends\" because that is the term used by nFPM.\n\nWARNING: This is NOT the same as the 'dependencies' field! It does not accept pants-style dependencies like target addresses.\n\nSee: https://rpm-software-management.github.io/rpm/manual/dependencies.html#requires https://rpm-software-management.github.io/rpm/manual/dependencies.html#versioning https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-REQUIRES-TAG https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-depend-manual-dependencies.html#S2-RPM-DEPEND-REQUIRES-TAG", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "recommends", + "default": null, + "description": "List of weak package requirements (for package installers).\n\nThis is like the 'depends' field, but the package resolver can ignore the requirement if it cannot resolve the packages with it included. If an entry in 'recommends' is ignored, no error or warning gets reported.\n\nThe 'recommends' field has the same syntax as the 'depends' field.\n\nSee: https://rpm-software-management.github.io/rpm/manual/dependencies.html#weak-dependencies", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "suggests", + "default": null, + "description": "List of very weak package requirements (for package installers).\n\nThese suggestions are ignored by the package resolver. They are merely shown to the user as optional packages that the user might want to also install.\n\nThe 'suggests' field has the same syntax as the 'depends' field.\n\nSee: https://rpm-software-management.github.io/rpm/manual/dependencies.html#weak-dependencies", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "conflicts", + "default": null, + "description": "A list of packages that this package conflicts with.\n\nPackages that conflict with each other cannot be installed at the same time.\n\nThe 'conflicts' field has the same syntax as the 'depends' field.\n\nSee: https://rpm-software-management.github.io/rpm/manual/dependencies.html#conflicts https://docs.fedoraproject.org/en-US/packaging-guidelines/Conflicts/ https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-CONFLICTS-TAG https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-depend-manual-dependencies.html#S2-RPM-DEPEND-CONFLICTS-TAG", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "compression", + "default": "'gzip:-1'", + "description": "The compression algorithm to use on the rpm package.\n\nThis takes a compression algorithm and optionally a compression level. To specify a level, use 'algorithm:level'. Specifying a compression level is only valid for 'gzip' or 'zstd'.\n\nHere are several gzip examples with and without the optional compression level (-1 means use the default level which is 5; 9 is the max).\n\n'gzip:9' 'gzip:0' 'gzip:-1' 'gzip:5' 'gzip'\n\nHere are several zstd examples. Note that nFPM uses a library that only defines four named compression levels, and then maps the zstd integer levels to those. You may specify the zstd level as an integer, or using these names: https://github.com/klauspost/compress/tree/master/zstd#status\n\n'zstd:fastest' 'zstd:default' 'zstd:better' 'zstd:best' 'zstd:3' 'zstd:9' 'zstd'", + "provider": "", + "required": false, + "type_hint": "'gzip' | 'lzma' | 'xz' | 'zstd' | None" + }, + { + "alias": "scripts", + "default": null, + "description": "Map of install scriptlet source files for the deb package.\n\nThis maps the script type (key) to the script source file (value). Each of the script source file(s) must be provided via 'dependencies'. The script types are the names used by nFPM. For reference, RPM uses the following scriptlet tag names instead and runs them before/after the indicated phase:\n\n | nFPM term | RPM scriptlet | RPM phase |\n +-------------+---------------+-------------+\n | preinstall | %pre | install |\n | postinstall | %post | install |\n | preremove | %preun | uninstall |\n | postremove | %postun | uninstall |\n | pretrans | %pretrans | transaction |\n | posttrans | %posttrans | transaction |\n | verify | %verifyscript | verify |\n\nPlease consult the RPM docs to understand what is required of these scripts.\n\nSee: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/ https://rpm-software-management.github.io/rpm/manual/tags.html#scriptlets https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-scripts.html#S2-RPM-INSIDE-ERASE-TIME-SCRIPTS", + "provider": "", + "required": false, + "type_hint": "dict | None" + }, + { + "alias": "ghost_contents", + "default": null, + "description": "A list of files that this package owns, but that this package does not include.\n\nExamples of ghosted files include: - A log file or a state file that does not exist until runtime. - A binary that is managed by 'alternatives'.\n\nRPM specs use the `%ghost` directive to list these ghosted files.\n\nEach file in this list gets passed to nFPM via the 'contents' field with 'type=ghost'. Then nFPM translates that into the appropriate RPM header. The file does not need to exist in your pants workspace as nFPM directly adds it to the RPM header.\n\nSee: https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-files-list-directives.html#S3-RPM-INSIDE-FLIST-GHOST-DIRECTIVE\n\nN.B.: Packages distributed by Fedora must use this if they provide 'alternatives'. https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/#_how_to_use_alternatives", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + } + ], + "provider": "pants.backend.experimental.nfpm", + "summary": "An RPM system package built by nFPM." + }, "node_package": { "alias": "node_package", "description": "A first party node package.", @@ -109691,7 +112784,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -109739,7 +112832,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -109771,7 +112864,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -109811,7 +112904,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -109955,7 +113048,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -109987,7 +113080,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -110051,7 +113144,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -110099,7 +113192,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -110130,7 +113223,7 @@ }, { "alias": "version_spec", - "default": "'== 2.23.0.dev6'", + "default": "'== 2.24.0.dev0'", "description": "The PEP 440 version specifier version of Pants to target. E.g. `== 2.15.*`, or `>= 2.16.0, < 2.17.0`", "provider": "", "required": false, @@ -110203,7 +113296,7 @@ { "alias": "interpreter_constraints", "default": null, - "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -110219,7 +113312,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -110235,7 +113328,7 @@ { "alias": "complete_platforms", "default": null, - "description": "The platforms the built PEX should be compatible with.\n\nThere must be built wheels available for all of the foreign platforms, rather than sdists.\n\nYou can give a list of multiple complete platforms to create a multiplatform PEX, meaning that the PEX will be executable in all of the supported environments.\n\nComplete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform).\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/pex for details.", + "description": "The platforms the built PEX should be compatible with.\n\nThere must be built wheels available for all of the foreign platforms, rather than sdists.\n\nYou can give a list of multiple complete platforms to create a multiplatform PEX, meaning that the PEX will be executable in all of the supported environments.\n\nComplete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform).\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/pex#generating-the-complete_platforms-file for details on how to create this file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -110366,7 +113459,7 @@ }, "pex_binary": { "alias": "pex_binary", - "description": "A Python target that can be converted into an executable PEX file.\n\nPEX files are self-contained executable files that contain a complete Python environment capable of running the target. For more information, see https://www.pantsbuild.org/2.23/docs/python/overview/pex.", + "description": "A Python target that can be converted into an executable PEX file.\n\nPEX files are self-contained executable files that contain a complete Python environment capable of running the target. For more information, see https://www.pantsbuild.org/2.24/docs/python/overview/pex.", "fields": [ { "alias": "tags", @@ -110395,7 +113488,7 @@ { "alias": "interpreter_constraints", "default": null, - "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -110411,7 +113504,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -110427,7 +113520,7 @@ { "alias": "complete_platforms", "default": null, - "description": "The platforms the built PEX should be compatible with.\n\nThere must be built wheels available for all of the foreign platforms, rather than sdists.\n\nYou can give a list of multiple complete platforms to create a multiplatform PEX, meaning that the PEX will be executable in all of the supported environments.\n\nComplete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform).\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/pex for details.", + "description": "The platforms the built PEX should be compatible with.\n\nThere must be built wheels available for all of the foreign platforms, rather than sdists.\n\nYou can give a list of multiple complete platforms to create a multiplatform PEX, meaning that the PEX will be executable in all of the supported environments.\n\nComplete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform).\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/pex#generating-the-complete_platforms-file for details on how to create this file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -110734,7 +113827,7 @@ }, "protobuf_source": { "alias": "protobuf_source", - "description": "A single Protobuf file used to generate various languages.\n\nSee language-specific docs:\n Python: https://www.pantsbuild.org/2.23/docs/python/integrations/protobuf-and-grpc\n Go: https://www.pantsbuild.org/2.23/docs/go/integrations/protobuf", + "description": "A single Protobuf file used to generate various languages.\n\nSee language-specific docs:\n Python: https://www.pantsbuild.org/2.24/docs/python/integrations/protobuf-and-grpc\n Go: https://www.pantsbuild.org/2.24/docs/go/integrations/protobuf", "fields": [ { "alias": "tags", @@ -110755,7 +113848,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -110803,7 +113896,7 @@ { "alias": "python_interpreter_constraints", "default": null, - "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "pants.backend.codegen.protobuf.python", "required": false, "type_hint": "Iterable[str] | None" @@ -110939,7 +114032,7 @@ { "alias": "python_interpreter_constraints", "default": null, - "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -110955,7 +114048,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -110966,7 +114059,7 @@ }, "pyoxidizer_binary": { "alias": "pyoxidizer_binary", - "description": "A single-file Python executable with a Python interpreter embedded, built via PyOxidizer.\n\nTo use this target, first create a `python_distribution` target with the code you want included in your binary, per https://www.pantsbuild.org/2.23/docs/python/overview/building-distributions. Then add this `python_distribution` target to the `dependencies` field. See the `help` for `dependencies` for more information.\n\nYou may optionally want to set the `entry_point` field. For advanced use cases, you can use a custom PyOxidizer config file, rather than what Pants generates, by setting the `template` field. You may also want to set `[pyoxidizer].args` to a value like `['--release']`.", + "description": "A single-file Python executable with a Python interpreter embedded, built via PyOxidizer.\n\nTo use this target, first create a `python_distribution` target with the code you want included in your binary, per https://www.pantsbuild.org/2.24/docs/python/overview/building-distributions. Then add this `python_distribution` target to the `dependencies` field. See the `help` for `dependencies` for more information.\n\nYou may optionally want to set the `entry_point` field. For advanced use cases, you can use a custom PyOxidizer config file, rather than what Pants generates, by setting the `template` field. You may also want to set `[pyoxidizer].args` to a value like `['--release']`.", "fields": [ { "alias": "tags", @@ -111011,7 +114104,7 @@ { "alias": "dependencies", "default": null, - "description": "The addresses of `python_distribution` target(s) to include in the binary, e.g. `['src/python/project:dist']`.\n\nThe distribution(s) must generate at least one wheel file. For example, if using `generate_setup=True`, then make sure `wheel=True`. See https://www.pantsbuild.org/2.23/docs/python/overview/building-distributions.\n\nUsually, you only need to specify a single `python_distribution`. However, if that distribution depends on another first-party distribution in your repository, you must specify that dependency too, otherwise PyOxidizer would try installing the distribution from PyPI. Note that a `python_distribution` target might depend on another `python_distribution` target even if it is not included in its own `dependencies` field, as explained at https://www.pantsbuild.org/2.23/docs/python/overview/building-distributions; if code from one distribution imports code from another distribution, then there is a dependency and you must include both `python_distribution` targets in the `dependencies` field of this `pyoxidizer_binary` target.\n\nTarget types other than `python_distribution` will be ignored.", + "description": "The addresses of `python_distribution` target(s) to include in the binary, e.g. `['src/python/project:dist']`.\n\nThe distribution(s) must generate at least one wheel file. For example, if using `generate_setup=True`, then make sure `wheel=True`. See https://www.pantsbuild.org/2.24/docs/python/overview/building-distributions.\n\nUsually, you only need to specify a single `python_distribution`. However, if that distribution depends on another first-party distribution in your repository, you must specify that dependency too, otherwise PyOxidizer would try installing the distribution from PyPI. Note that a `python_distribution` target might depend on another `python_distribution` target even if it is not included in its own `dependencies` field, as explained at https://www.pantsbuild.org/2.24/docs/python/overview/building-distributions; if code from one distribution imports code from another distribution, then there is a dependency and you must include both `python_distribution` targets in the `dependencies` field of this `pyoxidizer_binary` target.\n\nTarget types other than `python_distribution` will be ignored.", "provider": "", "required": true, "type_hint": "Iterable[str]" @@ -111046,7 +114139,7 @@ }, "python_aws_lambda_function": { "alias": "python_aws_lambda_function", - "description": "A self-contained Python function suitable for uploading to AWS Lambda.\n\nSee https://www.pantsbuild.org/2.23/docs/python/integrations/aws-lambda.", + "description": "A self-contained Python function suitable for uploading to AWS Lambda.\n\nSee https://www.pantsbuild.org/2.24/docs/python/integrations/aws-lambda.", "fields": [ { "alias": "tags", @@ -111086,12 +114179,12 @@ "description": "The identifier of the AWS Lambda runtime to target (pythonX.Y). See https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html.\n\nN.B.: only one of this and `complete_platforms` can be set. If `runtime` is set, a default complete platform is chosen, if one is known for that runtime. If you have issues either packaging the AWS Lambda PEX or running it as a deployed AWS Lambda function, you should try using an explicit `complete_platforms` instead.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "'python3.10' | 'python3.11' | 'python3.12' | 'python3.6' | 'python3.7' | 'python3.8' | 'python3.9' | None" }, { "alias": "complete_platforms", "default": null, - "description": "The platforms the built PEX should be compatible with.\n\nThere must be built wheels available for all of the foreign platforms, rather than sdists.\n\nYou can give a list of multiple complete platforms to create a multiplatform PEX, meaning that the PEX will be executable in all of the supported environments.\n\nComplete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform).\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/pex for details.\n\nN.B.: only one of this and `runtime` can be set. If `runtime` is set, a default complete platform is chosen, if one is known for that runtime. Explicitly set this to `[]` to use the platform's ambient interpreter, such as when running in an docker environment.", + "description": "The platforms the built PEX should be compatible with.\n\nThere must be built wheels available for all of the foreign platforms, rather than sdists.\n\nYou can give a list of multiple complete platforms to create a multiplatform PEX, meaning that the PEX will be executable in all of the supported environments.\n\nComplete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform).\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/pex#generating-the-complete_platforms-file for details on how to create this file.\n\nN.B.: only one of this and `runtime` can be set. If `runtime` is set, a default complete platform is chosen, if one is known for that runtime. Explicitly set this to `[]` to use the platform's ambient interpreter, such as when running in an docker environment.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -111139,7 +114232,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -111166,7 +114259,7 @@ }, "python_aws_lambda_layer": { "alias": "python_aws_lambda_layer", - "description": "A Python layer suitable for uploading to AWS Lambda.\n\nSee https://www.pantsbuild.org/2.23/docs/python/integrations/aws-lambda.", + "description": "A Python layer suitable for uploading to AWS Lambda.\n\nSee https://www.pantsbuild.org/2.24/docs/python/integrations/aws-lambda.", "fields": [ { "alias": "tags", @@ -111206,12 +114299,12 @@ "description": "The identifier of the AWS Lambda runtime to target (pythonX.Y). See https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html.\n\nN.B.: only one of this and `complete_platforms` can be set. If `runtime` is set, a default complete platform is chosen, if one is known for that runtime. If you have issues either packaging the AWS Lambda PEX or running it as a deployed AWS Lambda function, you should try using an explicit `complete_platforms` instead.", "provider": "", "required": false, - "type_hint": "str | None" + "type_hint": "'python3.10' | 'python3.11' | 'python3.12' | 'python3.6' | 'python3.7' | 'python3.8' | 'python3.9' | None" }, { "alias": "complete_platforms", "default": null, - "description": "The platforms the built PEX should be compatible with.\n\nThere must be built wheels available for all of the foreign platforms, rather than sdists.\n\nYou can give a list of multiple complete platforms to create a multiplatform PEX, meaning that the PEX will be executable in all of the supported environments.\n\nComplete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform).\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/pex for details.\n\nN.B.: only one of this and `runtime` can be set. If `runtime` is set, a default complete platform is chosen, if one is known for that runtime. Explicitly set this to `[]` to use the platform's ambient interpreter, such as when running in an docker environment.", + "description": "The platforms the built PEX should be compatible with.\n\nThere must be built wheels available for all of the foreign platforms, rather than sdists.\n\nYou can give a list of multiple complete platforms to create a multiplatform PEX, meaning that the PEX will be executable in all of the supported environments.\n\nComplete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform).\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/pex#generating-the-complete_platforms-file for details on how to create this file.\n\nN.B.: only one of this and `runtime` can be set. If `runtime` is set, a default complete platform is chosen, if one is known for that runtime. Explicitly set this to `[]` to use the platform's ambient interpreter, such as when running in an docker environment.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -111267,7 +114360,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": true, "type_hint": "Iterable[str]" @@ -111286,7 +114379,7 @@ }, "python_distribution": { "alias": "python_distribution", - "description": "A publishable Python setuptools distribution (e.g. an sdist or wheel).\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/building-distributions.", + "description": "A publishable Python setuptools distribution (e.g. an sdist or wheel).\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/building-distributions.", "fields": [ { "alias": "tags", @@ -111307,7 +114400,7 @@ { "alias": "interpreter_constraints", "default": null, - "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -111315,7 +114408,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -111331,7 +114424,7 @@ { "alias": "provides", "default": null, - "description": "The setup.py kwargs for the external artifact built from this target.\n\nYou must define `name`. You can also set almost any keyword argument accepted by setup.py in the `setup()` function: (https://packaging.python.org/guides/distributing-packages-using-setuptools/#setup-args).\n\nSee https://www.pantsbuild.org/2.23/docs/writing-plugins/common-plugin-tasks/custom-python-artifact-kwargs for how to write a plugin to dynamically generate kwargs.", + "description": "The setup.py kwargs for the external artifact built from this target.\n\nYou must define `name`. You can also set almost any keyword argument accepted by setup.py in the `setup()` function: (https://packaging.python.org/guides/distributing-packages-using-setuptools/#setup-args).\n\nSee https://www.pantsbuild.org/2.24/docs/writing-plugins/common-plugin-tasks/custom-python-artifact-kwargs for how to write a plugin to dynamically generate kwargs.", "provider": "", "required": true, "type_hint": "PythonArtifact" @@ -111430,7 +114523,7 @@ }, "python_google_cloud_function": { "alias": "python_google_cloud_function", - "description": "A self-contained Python function suitable for uploading to Google Cloud Function.\n\nSee https://www.pantsbuild.org/2.23/docs/python/integrations/google-cloud-functions.", + "description": "A self-contained Python function suitable for uploading to Google Cloud Function.\n\nSee https://www.pantsbuild.org/2.24/docs/python/integrations/google-cloud-functions.", "fields": [ { "alias": "tags", @@ -111459,7 +114552,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -111483,7 +114576,7 @@ { "alias": "complete_platforms", "default": null, - "description": "The platforms the built PEX should be compatible with.\n\nThere must be built wheels available for all of the foreign platforms, rather than sdists.\n\nYou can give a list of multiple complete platforms to create a multiplatform PEX, meaning that the PEX will be executable in all of the supported environments.\n\nComplete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform).\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/pex for details.\n\nN.B.: only one of this and `runtime` can be set. If `runtime` is set, a default complete platform is chosen, if one is known for that runtime. Explicitly set this to `[]` to use the platform's ambient interpreter, such as when running in an docker environment.", + "description": "The platforms the built PEX should be compatible with.\n\nThere must be built wheels available for all of the foreign platforms, rather than sdists.\n\nYou can give a list of multiple complete platforms to create a multiplatform PEX, meaning that the PEX will be executable in all of the supported environments.\n\nComplete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform).\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/pex#generating-the-complete_platforms-file for details on how to create this file.\n\nN.B.: only one of this and `runtime` can be set. If `runtime` is set, a default complete platform is chosen, if one is known for that runtime. Explicitly set this to `[]` to use the platform's ambient interpreter, such as when running in an docker environment.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -111542,7 +114635,7 @@ }, "python_requirement": { "alias": "python_requirement", - "description": "A Python requirement installable by pip.\n\nThis target is useful when you want to declare Python requirements inline in a BUILD file. If you have a `requirements.txt` file already, you can instead use the target generator `python_requirements` to convert each requirement into a `python_requirement` target automatically. For Poetry, use `poetry_requirements`.\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/third-party-dependencies.", + "description": "A Python requirement installable by pip.\n\nThis target is useful when you want to declare Python requirements inline in a BUILD file. If you have a `requirements.txt` file already, you can instead use the target generator `python_requirements` to convert each requirement into a `python_requirement` target automatically. For Poetry, use `poetry_requirements`.\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/third-party-dependencies.", "fields": [ { "alias": "tags", @@ -111571,7 +114664,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -111579,7 +114672,7 @@ { "alias": "modules", "default": null, - "description": "The modules this requirement provides (used for dependency inference).\n\nFor example, the requirement `setuptools` provides `[\"setuptools\", \"pkg_resources\", \"easy_install\"]`.\n\nUsually you can leave this field off. If unspecified, Pants will first look at the default module mapping (https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/python/dependency_inference/default_module_mapping.py), and then will default to the normalized project name. For example, the requirement `Django` would default to the module `django`.\n\nMutually exclusive with the `type_stub_modules` field.", + "description": "The modules this requirement provides (used for dependency inference).\n\nFor example, the requirement `setuptools` provides `[\"setuptools\", \"pkg_resources\", \"easy_install\"]`.\n\nUsually you can leave this field off. If unspecified, Pants will first look at the default module mapping (https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/python/dependency_inference/default_module_mapping.py), and then will default to the normalized project name. For example, the requirement `Django` would default to the module `django`.\n\nMutually exclusive with the `type_stub_modules` field.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -111587,7 +114680,7 @@ { "alias": "type_stub_modules", "default": null, - "description": "The modules this requirement provides if the requirement is a type stub (used for dependency inference).\n\nFor example, the requirement `types-requests` provides `[\"requests\"]`.\n\nUsually you can leave this field off. If unspecified, Pants will first look at the default module mapping (https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/python/dependency_inference/default_module_mapping.py). If not found _and_ the requirement name starts with `types-` or `stubs-`, or ends with `-types` or `-stubs`, will default to that requirement name without the prefix/suffix. For example, `types-requests` would default to `requests`. Otherwise, will be treated like a normal requirement (see the `modules` field).\n\nMutually exclusive with the `modules` field.", + "description": "The modules this requirement provides if the requirement is a type stub (used for dependency inference).\n\nFor example, the requirement `types-requests` provides `[\"requests\"]`.\n\nUsually you can leave this field off. If unspecified, Pants will first look at the default module mapping (https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/python/dependency_inference/default_module_mapping.py). If not found _and_ the requirement name starts with `types-` or `stubs-`, or ends with `-types` or `-stubs`, will default to that requirement name without the prefix/suffix. For example, `types-requests` would default to `requests`. Otherwise, will be treated like a normal requirement (see the `modules` field).\n\nMutually exclusive with the `modules` field.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -111699,7 +114792,7 @@ { "alias": "interpreter_constraints", "default": null, - "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -111707,7 +114800,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -112075,7 +115168,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -112083,7 +115176,7 @@ { "alias": "interpreter_constraints", "default": null, - "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -112102,7 +115195,7 @@ }, "python_test": { "alias": "python_test", - "description": "A single Python test file, written in either Pytest style or unittest style.\n\nAll test util code, including `conftest.py`, should go into a dedicated `python_source` target and then be included in the `dependencies` field. (You can use the `python_test_utils` target to generate these `python_source` targets.)\n\nSee https://www.pantsbuild.org/2.23/docs/python/goals/test", + "description": "A single Python test file, written in either Pytest style or unittest style.\n\nAll test util code, including `conftest.py`, should go into a dedicated `python_source` target and then be included in the `dependencies` field. (You can use the `python_test_utils` target to generate these `python_source` targets.)\n\nSee https://www.pantsbuild.org/2.24/docs/python/goals/test", "fields": [ { "alias": "tags", @@ -112123,7 +115216,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -112187,7 +115280,7 @@ { "alias": "interpreter_constraints", "default": null, - "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -112563,7 +115656,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -112571,7 +115664,7 @@ { "alias": "interpreter_constraints", "default": null, - "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -112771,7 +115864,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -112835,7 +115928,7 @@ { "alias": "interpreter_constraints", "default": null, - "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", + "description": "The Python interpreters this code is compatible with.\n\nEach element should be written in pip-style format, e.g. `CPython==2.7.*` or `CPython>=3.6,<4`. You can leave off `CPython` as a shorthand, e.g. `>=2.7` will be expanded to `CPython>=2.7`.\n\nSpecify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPython==3.7.*']` means either PyPy 3.7 _or_ CPython 3.7.\n\nIf the field is not set, it will default to the option `[python].interpreter_constraints`.\n\nSee https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -113064,6 +116157,14 @@ "required": false, "type_hint": "str | None" }, + { + "alias": "golang_extra_tools", + "default": null, + "description": "Overrides the default value from the option `[golang].extra_tools` when this environment target is active.", + "provider": "pants.backend.experimental.go", + "required": false, + "type_hint": "Iterable[str] | None" + }, { "alias": "golang_go_search_paths", "default": null, @@ -113088,6 +116189,14 @@ "required": false, "type_hint": "Iterable[str] | None" }, + { + "alias": "nfpm_default_mtime", + "default": null, + "description": "Overrides the default value from the option `[nfpm].default_mtime` when this environment target is active.", + "provider": "pants.backend.experimental.nfpm", + "required": false, + "type_hint": "str | None" + }, { "alias": "nodejs_corepack_env_vars", "default": null, @@ -113219,7 +116328,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -113275,7 +116384,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -113427,7 +116536,7 @@ { "alias": "packages", "default": null, - "description": "The JVM packages this artifact provides for the purposes of dependency inference.\n\nFor example, the JVM artifact `junit:junit` might provide `[\"org.junit.**\"]`.\n\nUsually you can leave this field off. If unspecified, Pants will fall back to the `[java-infer].third_party_import_mapping`, then to a built in mapping (https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/jvm/dependency_inference/jvm_artifact_mappings.py), and then finally it will default to the normalized `group` of the artifact. For example, in the absence of any other mapping the artifact `io.confluent:common-config` would default to providing `[\"io.confluent.**\"]`.\n\nThe package path may be made recursive to match symbols in subpackages by adding `.**` to the end of the package path. For example, specify `[\"org.junit.**\"]` to infer a dependency on the artifact for any file importing a symbol from `org.junit` or its subpackages.", + "description": "The JVM packages this artifact provides for the purposes of dependency inference.\n\nFor example, the JVM artifact `junit:junit` might provide `[\"org.junit.**\"]`.\n\nUsually you can leave this field off. If unspecified, Pants will fall back to the `[java-infer].third_party_import_mapping`, then to a built in mapping (https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/jvm/dependency_inference/jvm_artifact_mappings.py), and then finally it will default to the normalized `group` of the artifact. For example, in the absence of any other mapping the artifact `io.confluent:common-config` would default to providing `[\"io.confluent.**\"]`.\n\nThe package path may be made recursive to match symbols in subpackages by adding `.**` to the end of the package path. For example, specify `[\"org.junit.**\"]` to infer a dependency on the artifact for any file importing a symbol from `org.junit` or its subpackages.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -113515,7 +116624,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -113659,7 +116768,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -113739,7 +116848,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -113867,7 +116976,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -113979,7 +117088,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -114115,7 +117224,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -114312,6 +117421,22 @@ "required": false, "type_hint": "'append' | 'off' | 'prepend' | None" }, + { + "alias": "outputs_match_mode", + "default": "'all_warn'", + "description": "Configure whether all, or some, of the values in the `output_files` and `output_directories` fields must actually match the outputs generated by the invoked process. These values are called \"globs\". Outputs may be matched by more than one glob.\n\nValid values are:\n\n- `all_warn`: Log a warning if any glob fails to match an output. (In other words, all globs must match to avoid a warning.) This is the default value.\n\n- `all`: Ensure all globs match an output or else raise an error.\n\n- `at_least_one_warn`: Log a warning if none of the globs match an output.\n\n- `at_least_one`: Ensure at least one glob matches an output or else raise an error.\n\n- `allow_empty`: Allow empty digests (which means nothing was captured). This disables checking that globs match outputs.", + "provider": "", + "required": false, + "type_hint": "'all' | 'all_warn' | 'allow_empty' | 'at_least_one' | 'at_least_one_warn' | None" + }, + { + "alias": "cache_scope", + "default": "'from_environment'", + "description": "Set the \"cache scope\" of the executed process to provided value. The cache scope determines for how long Pants will cache the result of the process execution (assuming no changes to files or dependencies invalidate the result in the meantime).\n\nThe valid values are:\n\n- `from_environment`: Use the default cache scope for the applicable environment in which the process will execute. This is `success` for all environments except for `experimental_workspace_environment`, in which case `session` cache scope will be used.\n\n- `success`: Cache successful executions of the process.\n\n- `success_per_pantsd_restart`: Cache successful executions of the process for the life of the\n applicable pantsd process.\n\n- `session`: Only cache the result for a single Pants session. This will usually be a single invocation of the `pants` tool.", + "provider": "", + "required": false, + "type_hint": "'from_environment' | 'session' | 'success' | 'success_per_pantsd_restart' | None" + }, { "alias": "environment", "default": "'__local__'", @@ -114347,7 +117472,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -114435,7 +117560,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -114475,7 +117600,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -114587,7 +117712,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -114659,7 +117784,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -114723,7 +117848,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -114755,7 +117880,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -114803,7 +117928,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -114871,6 +117996,14 @@ "provider": "", "required": false, "type_hint": "Iterable[str] | None" + }, + { + "alias": "log_fingerprinting_errors", + "default": "True", + "description": "If True, then any errors encountered while fingerprinting candidate binaries will be logged as a warning.", + "provider": "", + "required": false, + "type_hint": "bool" } ], "provider": "pants.backend.experimental.adhoc", @@ -114899,7 +118032,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -114963,7 +118096,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -115011,7 +118144,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -115078,7 +118211,7 @@ }, "thrift_source": { "alias": "thrift_source", - "description": "A single Thrift file used to generate various languages.\n\nSee language-specific docs:\n Python: https://www.pantsbuild.org/2.23/docs/python/integrations/thrift", + "description": "A single Thrift file used to generate various languages.\n\nSee language-specific docs:\n Python: https://www.pantsbuild.org/2.24/docs/python/integrations/thrift", "fields": [ { "alias": "tags", @@ -115099,7 +118232,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -115219,7 +118352,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -115228,6 +118361,230 @@ "provider": "pants.backend.codegen.thrift.apache.python", "summary": "Generate a `thrift_source` target for each file in the `sources` field." }, + "tsx_source": { + "alias": "tsx_source", + "description": "A single TSX source file.", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "dependencies", + "default": null, + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "source", + "default": null, + "description": "A single file that belongs to this target.\n\nPath is relative to the BUILD file's directory, e.g. `source='example.ext'`.", + "provider": "", + "required": true, + "type_hint": "str" + } + ], + "provider": "pants.backend.experimental.typescript", + "summary": "A single TSX source file." + }, + "tsx_sources": { + "alias": "tsx_sources", + "description": "Generate a `tsx_source` target for each file in the `sources` field.", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "sources", + "default": "('*.tsx',)", + "description": "A list of files and globs that belong to this target.\n\nPaths are relative to the BUILD file's directory. You can ignore files/globs by prefixing them with `!`.\n\nExample: `sources=['utils.tsx', 'subdir/*.tsx', '!ignore_me.tsx']`", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "overrides", + "default": null, + "description": "Override the field values for generated `tsx_source` targets.\n\nExpects a dictionary of relative file paths and globs to a dictionary for the overrides. You may either use a string for a single path / glob, or a string tuple for multiple paths / globs. Each override is a dictionary of field names to the overridden value.\n\nFor example:\n\n overrides={\n \"foo.tsx\": {\"skip_prettier\": True},\n \"bar.tsx\": {\"skip_prettier\": True},\n (\"foo.tsx\", \"bar.tsx\"): {\"tags\": [\"no_lint\"]},\n }\n\nFile paths and globs are relative to the BUILD file's directory. Every overridden file is validated to belong to this target's `sources` field.\n\nIf you'd like to override a field's value for every `tsx_source` target generated by this target, change the field directly on this target rather than using the `overrides` field.\n\nYou can specify the same file name in multiple keys, so long as you don't override the same field more than one time for the file.", + "provider": "", + "required": false, + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" + }, + { + "alias": "dependencies", + "default": null, + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + } + ], + "provider": "pants.backend.experimental.typescript", + "summary": "Generate a `tsx_source` target for each file in the `sources` field." + }, + "tsx_test": { + "alias": "tsx_test", + "description": "A single TSX test file.", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "dependencies", + "default": null, + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "source", + "default": null, + "description": "A single file that belongs to this target.\n\nPath is relative to the BUILD file's directory, e.g. `source='example.ext'`.", + "provider": "", + "required": true, + "type_hint": "str" + }, + { + "alias": "timeout", + "default": null, + "description": "A timeout (in seconds) used by each test file belonging to this target.\n\nIf unset, will default to `[test].timeout_default`; if that option is also unset, then the test will never time out. Will never exceed `[test].timeout_maximum`. Only applies if the option `--test-timeouts` is set to true (the default).", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "extra_env_vars", + "default": null, + "description": "Additional environment variables to include in test processes.\n\nEntries are strings in the form `ENV_VAR=value` to use explicitly; or just `ENV_VAR` to copy the value of a variable in Pants's own environment.\n\nThis will be merged with and override values from `[test].extra_env_vars`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "batch_compatibility_tag", + "default": null, + "description": "An arbitrary value used to mark the test files belonging to this target as valid for batched execution.\n\nIt's _sometimes_ safe to run multiple `tsx_test`s within a single test runner process, and doing so can give significant wins by allowing reuse of expensive test setup / teardown logic. To opt into this behavior, set this field to an arbitrary non-empty string on all the `tsx_test` targets that are safe/compatible to run in the same process.\n\nIf this field is left unset on a target, the target is assumed to be incompatible with all others and will run in a dedicated `nodejs test runner` process.\n\nIf this field is set on a target, and its value is different from the value on some other test `tsx_test`, then the two targets are explicitly incompatible and are guaranteed to not run in the same `nodejs test runner` process.\n\nIf this field is set on a target, and its value is the same as the value on some other `tsx_test`, then the two targets are explicitly compatible and _may_ run in the same test runner process. Compatible tests may not end up in the same test runner batch if:\n\n * There are \"too many\" compatible tests in a partition, as determined by the `[test].batch_size` config parameter, or\n * Compatible tests have some incompatibility in Pants metadata (i.e. different `resolve`s or `extra_env_vars`).\n\nWhen tests with the same `batch_compatibility_tag` have incompatibilities in some other Pants metadata, they will be automatically split into separate batches. This way you can set a high-level `batch_compatibility_tag` using `__defaults__` and then have tests continue to work as you tweak BUILD metadata on specific targets.", + "provider": "", + "required": false, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.typescript", + "summary": "A single TSX test file." + }, + "tsx_tests": { + "alias": "tsx_tests", + "description": "Generate a `tsx_test` target for each file in the `sources` field.", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "sources", + "default": "('*.test.tsx',)", + "description": "A list of files and globs that belong to this target.\n\nPaths are relative to the BUILD file's directory. You can ignore files/globs by prefixing them with `!`.\n\nExample: `sources=['utils.test.tsx', 'subdir/*.test.tsx', '!ignore_me.test.tsx']`", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "overrides", + "default": null, + "description": "Override the field values for generated `tsx_test` targets.\n\nExpects a dictionary of relative file paths and globs to a dictionary for the overrides. You may either use a string for a single path / glob, or a string tuple for multiple paths / globs. Each override is a dictionary of field names to the overridden value.\n\nFor example:\n\n overrides={\n \"foo.test.tsx\": {\"timeout\": 120},\n \"bar.test.tsx\": {\"timeout\": 200},\n (\"foo.test.tsx\", \"bar.test.tsx\"): {\"tags\": [\"slow_tests\"]},\n }\n\nFile paths and globs are relative to the BUILD file's directory. Every overridden file is validated to belong to this target's `sources` field.\n\nIf you'd like to override a field's value for every `tsx_test` target generated by this target, change the field directly on this target rather than using the `overrides` field.\n\nYou can specify the same file name in multiple keys, so long as you don't override the same field more than one time for the file.", + "provider": "", + "required": false, + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" + }, + { + "alias": "dependencies", + "default": null, + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "timeout", + "default": null, + "description": "A timeout (in seconds) used by each test file belonging to this target.\n\nIf unset, will default to `[test].timeout_default`; if that option is also unset, then the test will never time out. Will never exceed `[test].timeout_maximum`. Only applies if the option `--test-timeouts` is set to true (the default).", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "extra_env_vars", + "default": null, + "description": "Additional environment variables to include in test processes.\n\nEntries are strings in the form `ENV_VAR=value` to use explicitly; or just `ENV_VAR` to copy the value of a variable in Pants's own environment.\n\nThis will be merged with and override values from `[test].extra_env_vars`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "batch_compatibility_tag", + "default": null, + "description": "An arbitrary value used to mark the test files belonging to this target as valid for batched execution.\n\nIt's _sometimes_ safe to run multiple `tsx_test`s within a single test runner process, and doing so can give significant wins by allowing reuse of expensive test setup / teardown logic. To opt into this behavior, set this field to an arbitrary non-empty string on all the `tsx_test` targets that are safe/compatible to run in the same process.\n\nIf this field is left unset on a target, the target is assumed to be incompatible with all others and will run in a dedicated `nodejs test runner` process.\n\nIf this field is set on a target, and its value is different from the value on some other test `tsx_test`, then the two targets are explicitly incompatible and are guaranteed to not run in the same `nodejs test runner` process.\n\nIf this field is set on a target, and its value is the same as the value on some other `tsx_test`, then the two targets are explicitly compatible and _may_ run in the same test runner process. Compatible tests may not end up in the same test runner batch if:\n\n * There are \"too many\" compatible tests in a partition, as determined by the `[test].batch_size` config parameter, or\n * Compatible tests have some incompatibility in Pants metadata (i.e. different `resolve`s or `extra_env_vars`).\n\nWhen tests with the same `batch_compatibility_tag` have incompatibilities in some other Pants metadata, they will be automatically split into separate batches. This way you can set a high-level `batch_compatibility_tag` using `__defaults__` and then have tests continue to work as you tweak BUILD metadata on specific targets.", + "provider": "", + "required": false, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.typescript", + "summary": "Generate a `tsx_test` target for each file in the `sources` field." + }, "typescript_source": { "alias": "typescript_source", "description": "A single TypeScript source file.", @@ -115251,7 +118608,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -115307,7 +118664,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -115339,7 +118696,7 @@ { "alias": "dependencies", "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", "provider": "", "required": false, "type_hint": "Iterable[str] | None" @@ -115378,11 +118735,83 @@ } ], "provider": "pants.backend.experimental.typescript", - "summary": "A single TypeScript test file." + "summary": "A single TypeScript test file." + }, + "typescript_tests": { + "alias": "typescript_tests", + "description": "Generate a `typescript_test` target for each file in the `sources` field.", + "fields": [ + { + "alias": "tags", + "default": null, + "description": "Arbitrary strings to describe a target.\n\nFor 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.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "description", + "default": null, + "description": "A human-readable description of the target.\n\nUse `pants list --documented ::` to see all targets with descriptions.", + "provider": "", + "required": false, + "type_hint": "str | None" + }, + { + "alias": "sources", + "default": "('*.test.ts',)", + "description": "A list of files and globs that belong to this target.\n\nPaths are relative to the BUILD file's directory. You can ignore files/globs by prefixing them with `!`.\n\nExample: `sources=['utils.test.ts', 'subdir/*.test.ts', '!ignore_me.test.ts']`", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "overrides", + "default": null, + "description": "Override the field values for generated `typescript_test` targets.\n\nExpects a dictionary of relative file paths and globs to a dictionary for the overrides. You may either use a string for a single path / glob, or a string tuple for multiple paths / globs. Each override is a dictionary of field names to the overridden value.\n\nFor example:\n\n overrides={\n \"foo.test.ts\": {\"timeout\": 120},\n \"bar.test.ts\": {\"timeout\": 200},\n (\"foo.test.ts\", \"bar.test.ts\"): {\"tags\": [\"slow_tests\"]},\n }\n\nFile paths and globs are relative to the BUILD file's directory. Every overridden file is validated to belong to this target's `sources` field.\n\nIf you'd like to override a field's value for every `typescript_test` target generated by this target, change the field directly on this target rather than using the `overrides` field.\n\nYou can specify the same file name in multiple keys, so long as you don't override the same field more than one time for the file.", + "provider": "", + "required": false, + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" + }, + { + "alias": "dependencies", + "default": null, + "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "timeout", + "default": null, + "description": "A timeout (in seconds) used by each test file belonging to this target.\n\nIf unset, will default to `[test].timeout_default`; if that option is also unset, then the test will never time out. Will never exceed `[test].timeout_maximum`. Only applies if the option `--test-timeouts` is set to true (the default).", + "provider": "", + "required": false, + "type_hint": "int | None" + }, + { + "alias": "extra_env_vars", + "default": null, + "description": "Additional environment variables to include in test processes.\n\nEntries are strings in the form `ENV_VAR=value` to use explicitly; or just `ENV_VAR` to copy the value of a variable in Pants's own environment.\n\nThis will be merged with and override values from `[test].extra_env_vars`.", + "provider": "", + "required": false, + "type_hint": "Iterable[str] | None" + }, + { + "alias": "batch_compatibility_tag", + "default": null, + "description": "An arbitrary value used to mark the test files belonging to this target as valid for batched execution.\n\nIt's _sometimes_ safe to run multiple `typescript_test`s within a single test runner process, and doing so can give significant wins by allowing reuse of expensive test setup / teardown logic. To opt into this behavior, set this field to an arbitrary non-empty string on all the `typescript_test` targets that are safe/compatible to run in the same process.\n\nIf this field is left unset on a target, the target is assumed to be incompatible with all others and will run in a dedicated `nodejs test runner` process.\n\nIf this field is set on a target, and its value is different from the value on some other test `typescript_test`, then the two targets are explicitly incompatible and are guaranteed to not run in the same `nodejs test runner` process.\n\nIf this field is set on a target, and its value is the same as the value on some other `typescript_test`, then the two targets are explicitly compatible and _may_ run in the same test runner process. Compatible tests may not end up in the same test runner batch if:\n\n * There are \"too many\" compatible tests in a partition, as determined by the `[test].batch_size` config parameter, or\n * Compatible tests have some incompatibility in Pants metadata (i.e. different `resolve`s or `extra_env_vars`).\n\nWhen tests with the same `batch_compatibility_tag` have incompatibilities in some other Pants metadata, they will be automatically split into separate batches. This way you can set a high-level `batch_compatibility_tag` using `__defaults__` and then have tests continue to work as you tweak BUILD metadata on specific targets.", + "provider": "", + "required": false, + "type_hint": "str | None" + } + ], + "provider": "pants.backend.experimental.typescript", + "summary": "Generate a `typescript_test` target for each file in the `sources` field." }, - "typescript_tests": { - "alias": "typescript_tests", - "description": "Generate a `typescript_test` target for each file in the `sources` field.", + "uv_requirements": { + "alias": "uv_requirements", + "description": "Generate a `python_requirement` for each entry in `pyproject.toml` under the `[tool.uv]` section.", "fields": [ { "alias": "tags", @@ -115401,56 +118830,48 @@ "type_hint": "str | None" }, { - "alias": "sources", - "default": "('*.test.ts',)", - "description": "A list of files and globs that belong to this target.\n\nPaths are relative to the BUILD file's directory. You can ignore files/globs by prefixing them with `!`.\n\nExample: `sources=['utils.test.ts', 'subdir/*.test.ts', '!ignore_me.test.ts']`", - "provider": "", - "required": false, - "type_hint": "Iterable[str] | None" - }, - { - "alias": "overrides", - "default": null, - "description": "Override the field values for generated `typescript_test` targets.\n\nExpects a dictionary of relative file paths and globs to a dictionary for the overrides. You may either use a string for a single path / glob, or a string tuple for multiple paths / globs. Each override is a dictionary of field names to the overridden value.\n\nFor example:\n\n overrides={\n \"foo.test.ts\": {\"timeout\": 120},\n \"bar.test.ts\": {\"timeout\": 200},\n (\"foo.test.ts\", \"bar.test.ts\"): {\"tags\": [\"slow_tests\"]},\n }\n\nFile paths and globs are relative to the BUILD file's directory. Every overridden file is validated to belong to this target's `sources` field.\n\nIf you'd like to override a field's value for every `typescript_test` target generated by this target, change the field directly on this target rather than using the `overrides` field.\n\nYou can specify the same file name in multiple keys, so long as you don't override the same field more than one time for the file.", + "alias": "module_mapping", + "default": "FrozenDict({})", + "description": "A mapping of requirement names to a list of the modules they provide.\n\nFor example, `{\"ansicolors\": [\"colors\"]}`.\n\nAny unspecified requirements will use a default. See the `modules` field from the `python_requirement` target for more information.", "provider": "", "required": false, - "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" + "type_hint": "Dict[str, Iterable[str]]" }, { - "alias": "dependencies", - "default": null, - "description": "Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`.\n\nThis augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory.\n\nIf the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`.\n\nYou may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file.", + "alias": "type_stubs_module_mapping", + "default": "FrozenDict({})", + "description": "A mapping of type-stub requirement names to a list of the modules they provide.\n\nFor example, `{\"types-requests\": [\"requests\"]}`.\n\nIf the requirement is not specified _and_ its name looks like a type stub, Pants will use a default. See the `type_stub_modules` field from the `python_requirement` target for more information.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "Dict[str, Iterable[str]]" }, { - "alias": "timeout", - "default": null, - "description": "A timeout (in seconds) used by each test file belonging to this target.\n\nIf unset, will default to `[test].timeout_default`; if that option is also unset, then the test will never time out. Will never exceed `[test].timeout_maximum`. Only applies if the option `--test-timeouts` is set to true (the default).", + "alias": "source", + "default": "'pyproject.toml'", + "description": "A single file that belongs to this target.\n\nPath is relative to the BUILD file's directory, e.g. `source='example.ext'`.", "provider": "", "required": false, - "type_hint": "int | None" + "type_hint": "str | None" }, { - "alias": "extra_env_vars", + "alias": "overrides", "default": null, - "description": "Additional environment variables to include in test processes.\n\nEntries are strings in the form `ENV_VAR=value` to use explicitly; or just `ENV_VAR` to copy the value of a variable in Pants's own environment.\n\nThis will be merged with and override values from `[test].extra_env_vars`.", + "description": "Override the field values for generated `python_requirement` targets.\n\nExpects a dictionary of requirements to a dictionary for the overrides. You may either use a string for a single requirement, or a string tuple for multiple requirements. Each override is a dictionary of field names to the overridden value.\n\nFor example:\n\n overrides={\n \"django\": {\"dependencies\": [\"#setuptools\"]},\n \"ansicolors\": {\"description\": \"pretty colors\"]},\n (\"ansicolors, \"django\"): {\"tags\": [\"overridden\"]},\n }\n\nEvery overridden requirement is validated to be generated by this target.\n\nYou can specify the same requirement in multiple keys, so long as you don't override the same field more than one time for the requirement.", "provider": "", "required": false, - "type_hint": "Iterable[str] | None" + "type_hint": "Dict[Union[str, Tuple[str, ...]], Dict[str, Any]] | None" }, { - "alias": "batch_compatibility_tag", + "alias": "resolve", "default": null, - "description": "An arbitrary value used to mark the test files belonging to this target as valid for batched execution.\n\nIt's _sometimes_ safe to run multiple `typescript_test`s within a single test runner process, and doing so can give significant wins by allowing reuse of expensive test setup / teardown logic. To opt into this behavior, set this field to an arbitrary non-empty string on all the `typescript_test` targets that are safe/compatible to run in the same process.\n\nIf this field is left unset on a target, the target is assumed to be incompatible with all others and will run in a dedicated `nodejs test runner` process.\n\nIf this field is set on a target, and its value is different from the value on some other test `typescript_test`, then the two targets are explicitly incompatible and are guaranteed to not run in the same `nodejs test runner` process.\n\nIf this field is set on a target, and its value is the same as the value on some other `typescript_test`, then the two targets are explicitly compatible and _may_ run in the same test runner process. Compatible tests may not end up in the same test runner batch if:\n\n * There are \"too many\" compatible tests in a partition, as determined by the `[test].batch_size` config parameter, or\n * Compatible tests have some incompatibility in Pants metadata (i.e. different `resolve`s or `extra_env_vars`).\n\nWhen tests with the same `batch_compatibility_tag` have incompatibilities in some other Pants metadata, they will be automatically split into separate batches. This way you can set a high-level `batch_compatibility_tag` using `__defaults__` and then have tests continue to work as you tweak BUILD metadata on specific targets.", + "description": "The resolve from `[python].resolves` that this requirement is included in.\n\nIf not defined, will default to `[python].default_resolve`.\n\nWhen generating a lockfile for a particular resolve via the `generate-lockfiles` goal, it will include all requirements that are declared with that resolve. First-party targets like `python_source` and `pex_binary` then declare which resolve they use via their `resolve` field; so, for your first-party code to use a particular `python_requirement` target, that requirement must be included in the resolve used by that code.", "provider": "", "required": false, "type_hint": "str | None" } ], - "provider": "pants.backend.experimental.typescript", - "summary": "Generate a `typescript_test` target for each file in the `sources` field." + "provider": "pants.backend.python", + "summary": "Generate a `python_requirement` for each entry in `pyproject.toml` under the `[tool.uv]` section." }, "vcs_version": { "alias": "vcs_version", @@ -115609,6 +119030,7 @@ "pants.backend.experimental.kotlin.debug_goals", "pants.backend.experimental.kotlin.lint.ktlint", "pants.backend.experimental.makeself", + "pants.backend.experimental.nfpm", "pants.backend.experimental.openapi", "pants.backend.experimental.openapi.codegen.java", "pants.backend.experimental.openapi.lint.openapi_format", @@ -115924,7 +119346,7 @@ ], "env_var": "PANTS_VERSION", "fromfile": false, - "help": "Use this Pants version. Note that Pants only uses this to verify that you are using the requested version, as Pants cannot dynamically change the version it is using once the program is already running.\n\nIf you use the `pants` script from https://www.pantsbuild.org/2.23/docs/getting-started/installing-pants, however, changing the value in your `pants.toml` will cause the new version to be installed and run automatically.\n\nRun `pants --version` to check what is being used.", + "help": "Use this Pants version. Note that Pants only uses this to verify that you are using the requested version, as Pants cannot dynamically change the version it is using once the program is already running.\n\nIf you use the `pants` script from https://www.pantsbuild.org/2.24/docs/getting-started/installing-pants, however, changing the value in your `pants.toml` will cause the new version to be installed and run automatically.\n\nRun `pants --version` to check what is being used.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -115945,12 +119367,12 @@ { "details": null, "rank": "HARDCODED", - "value": "2.23.0.dev6" + "value": "2.24.0.dev0" }, { "details": "from env var PANTS_VERSION", "rank": "ENVIRONMENT", - "value": "2.23.0.dev6" + "value": "2.24.0.dev0" } ] } @@ -117163,7 +120585,7 @@ ], "env_var": "PANTS_CA_CERTS_PATH", "fromfile": false, - "help": "Path to a file containing PEM-format CA certificates used for verifying secure connections when downloading files required by a build.\n\nEven when using the `docker_environment` and `remote_environment` targets, this path will be read from the local host, and those certs will be used in the environment.\n\nThis option cannot be overridden via environment targets, so if you need a different value than what the rest of your organization is using, override the value via an environment variable, CLI argument, or `.pants.rc` file. See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options.", + "help": "Path to a file containing PEM-format CA certificates used for verifying secure connections when downloading files required by a build.\n\nEven when using the `docker_environment` and `remote_environment` targets, this path will be read from the local host, and those certs will be used in the environment.\n\nThis option cannot be overridden via environment targets, so if you need a different value than what the rest of your organization is using, override the value via an environment variable, CLI argument, or `.pants.rc` file. See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -117598,7 +121020,7 @@ ], "env_var": "PANTS_REMOTE_OAUTH_BEARER_TOKEN", "fromfile": false, - "help": "An oauth token to use for gGRPC connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address`.\n\nIf specified, Pants will add a header in the format `authorization: Bearer `. You can also manually add this header via `[GLOBAL].remote_execution_headers` and `[GLOBAL].remote_store_headers`, or use `[GLOBAL].remote_auth_plugin` to provide a plugin to dynamically set the relevant headers. Otherwise, no authorization will be performed.\n\nRecommendation: do not place a token directly in `pants.toml`, instead do one of: set the token via the environment variable (`PANTS_REMOTE_OAUTH_BEARER_TOKEN`), CLI option (`--remote-oauth-bearer-token`), or store the token in a file and set the option to `\"@/path/to/token.txt\"` to [read the value from that file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#reading-individual-option-values-from-files).", + "help": "An oauth token to use for gGRPC connections to `[GLOBAL].remote_execution_address` and `[GLOBAL].remote_store_address`.\n\nIf specified, Pants will add a header in the format `authorization: Bearer `. You can also manually add this header via `[GLOBAL].remote_execution_headers` and `[GLOBAL].remote_store_headers`, or use `[GLOBAL].remote_auth_plugin` to provide a plugin to dynamically set the relevant headers. Otherwise, no authorization will be performed.\n\nRecommendation: do not place a token directly in `pants.toml`, instead do one of: set the token via the environment variable (`PANTS_REMOTE_OAUTH_BEARER_TOKEN`), CLI option (`--remote-oauth-bearer-token`), or store the token in a file and set the option to `\"@/path/to/token.txt\"` to [read the value from that file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#reading-individual-option-values-from-files).", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -117688,7 +121110,7 @@ "details": "", "rank": "HARDCODED", "value": { - "user-agent": "pants/2.23.0.dev6" + "user-agent": "pants/2.24.0.dev0" } } ] @@ -118080,7 +121502,7 @@ "details": "", "rank": "HARDCODED", "value": { - "user-agent": "pants/2.23.0.dev6" + "user-agent": "pants/2.24.0.dev0" } } ] @@ -118239,6 +121661,125 @@ ] } }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--file-downloads-retry-delay=", + "config_key": "file_downloads_retry_delay", + "default": 0.2, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--file-downloads-retry-delay=" + ], + "env_var": "PANTS_FILE_DOWNLOADS_RETRY_DELAY", + "fromfile": false, + "help": "When Pants downloads files (for example, for the `http_source` source), Pants will retry the download if a \"retryable\" error occurs. Between each attempt, Pants will delay a random amount of time using an exponential backoff algorithm.\n\nThis option sets the \"base\" duration in seconds used for calculating the retry delay.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--file-downloads-retry-delay" + ], + "target_field_name": null, + "typ": "float", + "unscoped_cmd_line_args": [ + "--file-downloads-retry-delay" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 0.2 + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--file-downloads-max-attempts=", + "config_key": "file_downloads_max_attempts", + "default": 4, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--file-downloads-max-attempts=" + ], + "env_var": "PANTS_FILE_DOWNLOADS_MAX_ATTEMPTS", + "fromfile": false, + "help": "When Pants downloads files (for example, for the `http_source` source), Pants will retry the download if a \"retryable\" error occurs.\n\nThis option sets the maximum number of attempts Pants will make to try to download the file before giving up with an error.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--file-downloads-max-attempts" + ], + "target_field_name": null, + "typ": "int", + "unscoped_cmd_line_args": [ + "--file-downloads-max-attempts" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": 4 + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]allow-deprecated-macos-before-12", + "config_key": "allow_deprecated_macos_before_12", + "default": false, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]allow-deprecated-macos-before-12" + ], + "env_var": "PANTS_ALLOW_DEPRECATED_MACOS_BEFORE_12", + "fromfile": false, + "help": "Silence warnings about running Pants on macOS 10.15 - 11. In future versions, Pants will only be supported on macOS 12 and newer.\n\nIf you have questions or concerns about this, please reach out to us at https://www.pantsbuild.org/community/getting-help.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--allow-deprecated-macos-before-12", + "--no-allow-deprecated-macos-before-12" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--allow-deprecated-macos-before-12", + "--no-allow-deprecated-macos-before-12" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": false + } + ] + } + }, { "choices": [ "ignore", @@ -118422,7 +121963,7 @@ ], "env_var": "PANTS_BUILD_FILE_PRELUDE_GLOBS", "fromfile": false, - "help": "Python files to evaluate and whose symbols should be exposed to all BUILD files. See https://www.pantsbuild.org/2.23/docs/writing-plugins/macros.", + "help": "Python files to evaluate and whose symbols should be exposed to all BUILD files. See https://www.pantsbuild.org/2.24/docs/writing-plugins/macros.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -119126,7 +122667,7 @@ ], "env_var": "PANTS_REMOTE_PROVIDER", "fromfile": false, - "help": "The type of provider to use, if using a remote cache and/or remote execution, See https://www.pantsbuild.org/2.23/docs/using-pants/remote-caching-and-execution for details.\n\nEach provider supports different `remote_store_address` and (optional) `remote_execution_address` URIs.\n\nSupported values:\n\n- `reapi`: a server using the Remote Execution API (https://github.com/bazelbuild/remote-apis) (supported schemes for URIs: `grpc://`, `grpcs://`)\n\n- `experimental-file`: a directory mapped on the current machine (supported schemes for URIs: `file://`)\n\n- `experimental-github-actions-cache`: the GitHub Actions caching service (supported schemes for URIs: `http://`, `https://`)", + "help": "The type of provider to use, if using a remote cache and/or remote execution, See https://www.pantsbuild.org/2.24/docs/using-pants/remote-caching-and-execution for details.\n\nEach provider supports different `remote_store_address` and (optional) `remote_execution_address` URIs.\n\nSupported values:\n\n- `reapi`: a server using the Remote Execution API (https://github.com/bazelbuild/remote-apis) (supported schemes for URIs: `grpc://`, `grpcs://`)\n\n- `experimental-file`: a directory mapped on the current machine (supported schemes for URIs: `file://`)\n\n- `experimental-github-actions-cache`: the GitHub Actions caching service (supported schemes for URIs: `http://`, `https://`)", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -119412,7 +122953,7 @@ ], "env_var": "PANTS_TAG", "fromfile": false, - "help": "Include only targets with these tags (optional '+' prefix) or without these tags ('-' prefix). See https://www.pantsbuild.org/2.23/docs/using-pants/advanced-target-selection.", + "help": "Include only targets with these tags (optional '+' prefix) or without these tags ('-' prefix). See https://www.pantsbuild.org/2.24/docs/using-pants/advanced-target-selection.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -119544,7 +123085,7 @@ ], "env_var": "PANTS_ADD_TRAILING_COMMA_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `add-trailing-comma` version 2.4.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `add-trailing-comma` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `add-trailing-comma` version 2.5.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `add-trailing-comma` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -119578,7 +123119,7 @@ ], "env_var": "PANTS_ADD_TRAILING_COMMA_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -119610,7 +123151,7 @@ "comma_separated_display_args": "--add-trailing-comma-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -119641,7 +123182,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -119805,7 +123346,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "The add-trailing-comma Python code formatter (https://github.com/asottile/add-trailing-comma).\n\nThis version of Pants uses `add-trailing-comma` version 2.4.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "The add-trailing-comma Python code formatter (https://github.com/asottile/add-trailing-comma).\n\nThis version of Pants uses `add-trailing-comma` version 2.5.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.experimental.python.lint.add_trailing_comma", "scope": "add-trailing-comma" @@ -119825,7 +123366,7 @@ ], "env_var": "PANTS_ANONYMOUS_TELEMETRY_ENABLED", "fromfile": false, - "help": "Whether to send anonymous telemetry to the Pants project.\n\nTelemetry is sent asynchronously, with silent failure, and does not impact build times or outcomes.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/anonymous-telemetry for details.", + "help": "Whether to send anonymous telemetry to the Pants project.\n\nTelemetry is sent asynchronously, with silent failure, and does not impact build times or outcomes.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/anonymous-telemetry for details.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -119866,7 +123407,7 @@ ], "env_var": "PANTS_ANONYMOUS_TELEMETRY_REPO_ID", "fromfile": false, - "help": "An anonymized ID representing this repo.\n\nFor private repos, you likely want the ID to not be derived from, or algorithmically convertible to, anything identifying the repo.\n\nFor public repos the ID may be visible in that repo's config file, so anonymity of the repo is not guaranteed (although user anonymity is always guaranteed).\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/anonymous-telemetry for details.", + "help": "An anonymized ID representing this repo.\n\nFor private repos, you likely want the ID to not be derived from, or algorithmically convertible to, anything identifying the repo.\n\nFor public repos the ID may be visible in that repo's config file, so anonymity of the repo is not guaranteed (although user anonymity is always guaranteed).\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/anonymous-telemetry for details.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -120004,7 +123545,7 @@ ], "env_var": "PANTS_AUTOFLAKE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `autoflake` version 2.1.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `autoflake` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `autoflake` version 2.3.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `autoflake` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -120038,7 +123579,7 @@ ], "env_var": "PANTS_AUTOFLAKE_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -120070,7 +123611,7 @@ "comma_separated_display_args": "--autoflake-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -120101,7 +123642,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -120269,7 +123810,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "The Autoflake Python code formatter (https://github.com/myint/autoflake).\n\nThis version of Pants uses `autoflake` version 2.1.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "The Autoflake Python code formatter (https://github.com/myint/autoflake).\n\nThis version of Pants uses `autoflake` version 2.3.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.python.lint.autoflake", "scope": "autoflake" @@ -120341,7 +123882,7 @@ ], "env_var": "PANTS_BANDIT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `bandit` version 1.7.5.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `bandit` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `bandit` version 1.7.9.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `bandit` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -120375,7 +123916,7 @@ ], "env_var": "PANTS_BANDIT_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -120593,7 +124134,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "A tool for finding security issues in Python code (https://bandit.readthedocs.io).\n\nThis version of Pants uses `bandit` version 1.7.5 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "A tool for finding security issues in Python code (https://bandit.readthedocs.io).\n\nThis version of Pants uses `bandit` version 1.7.9 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.python.lint.bandit", "scope": "bandit" @@ -120613,7 +124154,7 @@ ], "env_var": "PANTS_BLACK_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `black` version 23.3.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `black` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `black` version 23.12.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `black` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -120647,7 +124188,7 @@ ], "env_var": "PANTS_BLACK_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -120679,7 +124220,7 @@ "comma_separated_display_args": "--black-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -120710,7 +124251,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -120949,7 +124490,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "The Black Python code formatter (https://black.readthedocs.io/).\n\nThis version of Pants uses `black` version 23.3.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "The Black Python code formatter (https://black.readthedocs.io/).\n\nThis version of Pants uses `black` version 23.12.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.python.lint.black", "scope": "black" @@ -121057,7 +124598,7 @@ ], "env_var": "PANTS_BUF_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -121478,7 +125019,7 @@ "comma_separated_choices": null, "comma_separated_display_args": "--buildifier-version=", "config_key": "version", - "default": "5.1.0", + "default": "7.1.2", "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -121507,7 +125048,7 @@ { "details": null, "rank": "HARDCODED", - "value": "5.1.0" + "value": "7.1.2" } ] } @@ -121518,10 +125059,10 @@ "comma_separated_display_args": "--buildifier-known-versions=\"['', '', ...]\"", "config_key": "known_versions", "default": [ - "5.1.0|macos_x86_64|c9378d9f4293fc38ec54a08fbc74e7a9d28914dae6891334401e59f38f6e65dc|7125968", - "5.1.0|macos_arm64 |745feb5ea96cb6ff39a76b2821c57591fd70b528325562486d47b5d08900e2e4|7334498", - "5.1.0|linux_x86_64|52bf6b102cb4f88464e197caac06d69793fa2b05f5ad50a7e7bf6fbd656648a3|7226100", - "5.1.0|linux_arm64 |917d599dbb040e63ae7a7e1adb710d2057811902fdc9e35cce925ebfd966eeb8|7171938" + "7.1.2|macos_x86_64|687c49c318fb655970cf716eed3c7bfc9caeea4f2931a2fd36593c458de0c537|7591232", + "7.1.2|macos_arm64 |d0909b645496608fd6dfc67f95d9d3b01d90736d7b8c8ec41e802cb0b7ceae7c|7528994", + "7.1.2|linux_x86_64|28285fe7e39ed23dc1a3a525dfcdccbc96c0034ff1d4277905d2672a71b38f13|7702060", + "7.1.2|linux_arm64 |c22a44eee37b8927167ee6ee67573303f4e31171e7ec3a8ea021a6a660040437|7568336" ], "deprecated_message": null, "deprecation_active": false, @@ -121552,10 +125093,10 @@ "details": "", "rank": "HARDCODED", "value": [ - "5.1.0|macos_x86_64|c9378d9f4293fc38ec54a08fbc74e7a9d28914dae6891334401e59f38f6e65dc|7125968", - "5.1.0|macos_arm64 |745feb5ea96cb6ff39a76b2821c57591fd70b528325562486d47b5d08900e2e4|7334498", - "5.1.0|linux_x86_64|52bf6b102cb4f88464e197caac06d69793fa2b05f5ad50a7e7bf6fbd656648a3|7226100", - "5.1.0|linux_arm64 |917d599dbb040e63ae7a7e1adb710d2057811902fdc9e35cce925ebfd966eeb8|7171938" + "7.1.2|macos_x86_64|687c49c318fb655970cf716eed3c7bfc9caeea4f2931a2fd36593c458de0c537|7591232", + "7.1.2|macos_arm64 |d0909b645496608fd6dfc67f95d9d3b01d90736d7b8c8ec41e802cb0b7ceae7c|7528994", + "7.1.2|linux_x86_64|28285fe7e39ed23dc1a3a525dfcdccbc96c0034ff1d4277905d2672a71b38f13|7702060", + "7.1.2|linux_arm64 |c22a44eee37b8927167ee6ee67573303f4e31171e7ec3a8ea021a6a660040437|7568336" ] } ] @@ -121566,7 +125107,7 @@ "comma_separated_choices": null, "comma_separated_display_args": "--buildifier-url-template=", "config_key": "url_template", - "default": "https://github.com/bazelbuild/buildtools/releases/download/{version}/buildifier-{platform}", + "default": "https://github.com/bazelbuild/buildtools/releases/download/v{version}/buildifier-{platform}", "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -121574,7 +125115,7 @@ ], "env_var": "PANTS_BUILDIFIER_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -121595,7 +125136,7 @@ { "details": null, "rank": "HARDCODED", - "value": "https://github.com/bazelbuild/buildtools/releases/download/{version}/buildifier-{platform}" + "value": "https://github.com/bazelbuild/buildtools/releases/download/v{version}/buildifier-{platform}" } ] } @@ -122221,7 +125762,7 @@ ], "env_var": "PANTS_CC_EXTERNAL_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -122829,7 +126370,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Tell Pants to detect what files and targets have changed from Git.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/advanced-target-selection.", + "description": "Tell Pants to detect what files and targets have changed from Git.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/advanced-target-selection.", "is_goal": false, "provider": "", "scope": "changed" @@ -122899,7 +126440,7 @@ ], "env_var": "PANTS_CLANG_FORMAT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `clang-format` version 15.0.7.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `clang-format` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `clang-format` version 15.0.7.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `clang-format` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -122933,7 +126474,7 @@ ], "env_var": "PANTS_CLANG_FORMAT_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -122965,7 +126506,7 @@ "comma_separated_display_args": "--clang-format-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -122996,7 +126537,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -123263,7 +126804,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Generates a completion script for the specified shell. The script is printed to stdout.\n\nFor example, `pants complete --zsh > pants-completions.zsh` will generate a zsh completion script and write it to the file `my-pants-completions.zsh`. You can then source this file in your `.zshrc` file to enable completion for Pants.\n\nThis command is also used by the completion scripts to generate the completion options using passthrough options. This usage is not intended for use by end users, but could be useful for building custom completion scripts.\n\nAn example of this usage is in the bash completion script, where we use the following command: `pants complete -- ${COMP_WORDS[@]}`. This will generate the completion options for the current args, and then pass them to the bash completion script.", + "description": "Generates a completion script for the specified shell. The script is printed to stdout.\n\nFor example, `pants complete --shell=zsh > pants-completions.zsh` will generate a zsh completion script and write it to the file `my-pants-completions.zsh`. You can then source this file in your `.zshrc` file to enable completion for Pants.\n\nThis command is also used by the completion scripts to generate the completion options using passthrough options. This usage is not intended for use by end users, but could be useful for building custom completion scripts.\n\nAn example of this usage is in the bash completion script, where we use the following command: `pants complete -- ${COMP_WORDS[@]}`. This will generate the completion options for the current args, and then pass them to the bash completion script.", "is_goal": true, "provider": "pants.goal", "scope": "complete" @@ -123397,7 +126938,7 @@ ], "env_var": "PANTS_COURSIER_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -123623,7 +127164,7 @@ ], "env_var": "PANTS_COVERAGE_PY_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `coverage` version 7.2.7.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `coverage-py` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `coverage` version 7.6.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `coverage-py` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -123657,7 +127198,7 @@ ], "env_var": "PANTS_COVERAGE_PY_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -123689,7 +127230,7 @@ "comma_separated_display_args": "--coverage-py-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -123720,7 +127261,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -124082,7 +127623,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Configuration for Python test coverage measurement.\n\nThis version of Pants uses `coverage` version 7.2.7 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "Configuration for Python test coverage measurement.\n\nThis version of Pants uses `coverage` version 7.6.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.python", "scope": "coverage-py" @@ -124190,7 +127731,7 @@ ], "env_var": "PANTS_CUE_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -124501,7 +128042,7 @@ ], "env_var": "PANTS_DEBUGPY_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `debugpy` version 1.6.7.post1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `debugpy` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `debugpy` version 1.6.7.post1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `debugpy` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -124535,7 +128076,7 @@ ], "env_var": "PANTS_DEBUGPY_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -124567,7 +128108,7 @@ "comma_separated_display_args": "--debugpy-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -124598,7 +128139,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -125157,7 +128698,7 @@ ], "env_var": "PANTS_DOCFORMATTER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `docformatter` version 1.4.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `docformatter` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `docformatter` version 1.4.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `docformatter` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -125191,7 +128732,7 @@ ], "env_var": "PANTS_DOCFORMATTER_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -125223,7 +128764,7 @@ "comma_separated_display_args": "--docformatter-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -125254,7 +128795,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -125464,6 +129005,45 @@ ] } }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--docker-optional-tools=\"['', '', ...]\"", + "config_key": "optional_tools", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--docker-optional-tools=\"['', '', ...]\"" + ], + "env_var": "PANTS_DOCKER_OPTIONAL_TOOLS", + "fromfile": false, + "help": "List any additional executables which are not mandatory for Docker to work, but which should be included if available. The paths to these tools will be included in the PATH used in the execution sandbox, so that they may be used by the Docker client.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--docker-optional-tools" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--optional-tools" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, { "choices": null, "comma_separated_choices": null, @@ -126044,7 +129624,7 @@ ], "env_var": "PANTS_DOCKERFILE_PARSER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `dockerfile` version 3.2.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `dockerfile-parser` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `dockerfile` version 3.3.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `dockerfile-parser` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -126078,7 +129658,7 @@ ], "env_var": "PANTS_DOCKERFILE_PARSER_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -126110,7 +129690,7 @@ "comma_separated_display_args": "--dockerfile-parser-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -126141,7 +129721,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -126193,7 +129773,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Used to parse Dockerfile build specs to infer their dependencies.\n\nThis version of Pants uses `dockerfile` version 3.2.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "Used to parse Dockerfile build specs to infer their dependencies.\n\nThis version of Pants uses `dockerfile` version 3.3.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.docker.lint.hadolint", "scope": "dockerfile-parser" @@ -126877,7 +130457,7 @@ ], "env_var": "PANTS_DOWNLOAD_TERRAFORM_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -127740,7 +131320,7 @@ "comma_separated_display_args": "--[no-]export-py-hermetic-scripts", "config_key": "py_hermetic_scripts", "default": true, - "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.24.0.dev0.", + "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.26.0.dev0.", "deprecation_active": true, "display_args": [ "--[no-]export-py-hermetic-scripts" @@ -127749,7 +131329,7 @@ "fromfile": false, "help": "When exporting a mutable virtualenv for a resolve, by default modify console script shebang lines to make them \"hermetic\". The shebang of hermetic console scripts uses the python args: `-sE`:\n\n - `-s` skips inclusion of the user site-packages directory,\n - `-E` ignores all `PYTHON*` env vars like `PYTHONPATH`.\n\nSet this to false if you need non-hermetic scripts with simple python shebangs that respect vars like `PYTHONPATH`, to, for example, allow IDEs like PyCharm to inject its debugger, coverage, or other IDE-specific libs when running a script.\n\nThis only applies when when exporting a `mutable_virtualenv` (`symlinked_immutable_virtualenv` exports are not \"full\" virtualenvs because they are used internally by pants itself. Pants requires hermetic scripts to provide its reproduciblity guarantee, fine-grained caching, and other features).", "removal_hint": "Use `--export-py-non-hermetic-scripts-in-resolve` instead.", - "removal_version": "2.24.0.dev0", + "removal_version": "2.26.0.dev0", "scoped_cmd_line_args": [ "--export-py-hermetic-scripts", "--no-export-py-hermetic-scripts" @@ -128389,7 +131969,7 @@ ], "env_var": "PANTS_FLAKE8_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `flake8` version 5.0.4.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `flake8` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `flake8` version 5.0.4.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `flake8` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -128423,7 +132003,7 @@ ], "env_var": "PANTS_FLAKE8_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -128649,7 +132229,7 @@ ], "env_var": "PANTS_FLAKE8_SOURCE_PLUGINS", "fromfile": false, - "help": "An optional list of `python_sources` target addresses to load first-party plugins.\n\nYou must set the plugin's parent directory as a source root. For example, if your plugin is at `build-support/flake8/custom_plugin.py`, add `'build-support/flake8'` to `[source].root_patterns` in `pants.toml`. This is necessary for Pants to know how to tell Flake8 to discover your plugin. See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/source-roots\n\nYou must also set `[flake8:local-plugins]` in your Flake8 config file.\n\nFor example:\n\n [flake8:local-plugins]\n extension =\n CUSTOMCODE = custom_plugin:MyChecker\n\nWhile your plugin's code can depend on other first-party code and third-party requirements, all first-party dependencies of the plugin must live in the same directory or a subdirectory.\n\nTo instead load third-party plugins, add them to a custom resolve alongside flake8 itself, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.", + "help": "An optional list of `python_sources` target addresses to load first-party plugins.\n\nYou must set the plugin's parent directory as a source root. For example, if your plugin is at `build-support/flake8/custom_plugin.py`, add `'build-support/flake8'` to `[source].root_patterns` in `pants.toml`. This is necessary for Pants to know how to tell Flake8 to discover your plugin. See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/source-roots\n\nYou must also set `[flake8:local-plugins]` in your Flake8 config file.\n\nFor example:\n\n [flake8:local-plugins]\n extension =\n CUSTOMCODE = custom_plugin:MyChecker\n\nWhile your plugin's code can depend on other first-party code and third-party requirements, all first-party dependencies of the plugin must live in the same directory or a subdirectory.\n\nTo instead load third-party plugins, add them to a custom resolve alongside flake8 itself, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -130141,6 +133721,45 @@ ] } }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--golang-extra-tools=\"['', '', ...]\"", + "config_key": "extra_tools", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--golang-extra-tools=\"['', '', ...]\"" + ], + "env_var": "PANTS_GOLANG_EXTRA_TOOLS", + "fromfile": false, + "help": "List any additional executable tools required for the `go` tool to work. The paths to these tools will be included in the PATH used in the execution sandbox. E.g. `go mod download` may require the `git` tool to download private modules.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--golang-extra-tools" + ], + "target_field_name": "golang_extra_tools", + "typ": "list", + "unscoped_cmd_line_args": [ + "--extra-tools" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, { "choices": null, "comma_separated_choices": null, @@ -130574,7 +134193,7 @@ ], "env_var": "PANTS_GOLANG_GO_SEARCH_PATHS", "fromfile": false, - "help": "A list of paths to search for Go.\n\nSpecify absolute paths to directories with the `go` binary, e.g. `/usr/bin`. Earlier entries will be searched first.\n\nThe following special strings are supported:\n\n* ``, the contents of the PATH environment variable\n* ``, all Go versions currently configured by ASDF `(asdf shell, ${HOME}/.tool-versions)`, with a fallback to all installed versions\n* ``, the ASDF binary with the version in `BUILD_ROOT/.tool-versions`", + "help": "A list of paths to search for Go and extra tools needed by go.\n\nSpecify absolute paths to directories with the `go` binary, e.g. `/usr/bin`. Earlier entries will be searched first.\n\nThe following special strings are supported:\n\n* ``, the contents of the PATH environment variable\n* ``, all Go versions currently configured by ASDF `(asdf shell, ${HOME}/.tool-versions)`, with a fallback to all installed versions\n* ``, the ASDF binary with the version in `BUILD_ROOT/.tool-versions`", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -130756,7 +134375,7 @@ ], "env_var": "PANTS_GOLANGCI_LINT_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -131135,7 +134754,7 @@ ], "env_var": "PANTS_GOOGLE_JAVA_FORMAT_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/java/lint/google_java_format/google_java_format.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=google-java-format`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/java/lint/google_java_format/google_java_format.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=google-java-format`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -131395,7 +135014,7 @@ ], "env_var": "PANTS_GRPC_PYTHON_PLUGIN_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -131624,7 +135243,7 @@ ], "env_var": "PANTS_HADOLINT_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -132073,7 +135692,7 @@ ], "env_var": "PANTS_HELM_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -132517,7 +136136,49 @@ "scope": "helm" }, "helm-infer": { - "advanced": [], + "advanced": [ + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--[no-]helm-infer-deployment-dependencies", + "config_key": "deployment_dependencies", + "default": true, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--[no-]helm-infer-deployment-dependencies" + ], + "env_var": "PANTS_HELM_INFER_DEPLOYMENT_DEPENDENCIES", + "fromfile": false, + "help": "If true, parse k8s manifests generated by helm to find dependencies on other targets like docker images.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--helm-infer-deployment-dependencies", + "--no-helm-infer-deployment-dependencies" + ], + "target_field_name": null, + "typ": "bool", + "unscoped_cmd_line_args": [ + "--deployment-dependencies", + "--no-deployment-dependencies" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": true + } + ] + } + } + ], "basic": [ { "choices": [ @@ -132624,7 +136285,7 @@ ], "env_var": "PANTS_HELM_K8S_PARSER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `hikaru` version 1.3.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `helm-k8s-parser` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `hikaru` version 1.3.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `helm-k8s-parser` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -132658,7 +136319,7 @@ ], "env_var": "PANTS_HELM_K8S_PARSER_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -132690,7 +136351,7 @@ "comma_separated_display_args": "--helm-k8s-parser-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -132721,7 +136382,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -132751,7 +136412,7 @@ ], "env_var": "PANTS_HELM_POST_RENDERER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yamlpath` version 3.8.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `helm-post-renderer` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yamlpath` version 3.8.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `helm-post-renderer` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -132785,7 +136446,7 @@ ], "env_var": "PANTS_HELM_POST_RENDERER_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -132817,7 +136478,7 @@ "comma_separated_display_args": "--helm-post-renderer-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<3.10" + "CPython>=3.8,<3.10" ], "deprecated_message": null, "deprecation_active": false, @@ -132848,7 +136509,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<3.10" + "CPython>=3.8,<3.10" ] } ] @@ -132858,7 +136519,7 @@ "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "Used perform modifications to the final output produced by Helm charts when they've been fully rendered.\n\nThis version of Pants uses `yamlpath` version 3.8.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "Used perform modifications to the final output produced by Helm charts when they've been fully rendered.\n\nThis version of Pants uses `yamlpath` version 3.8.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.experimental.helm.check.kubeconform", "scope": "helm-post-renderer" @@ -132974,7 +136635,7 @@ ], "env_var": "PANTS_HELM_UNITTEST_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -133271,7 +136932,7 @@ ], "env_var": "PANTS_IPYTHON_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `ipython` version 7.34.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `ipython` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `ipython` version 8.12.3.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `ipython` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -133305,7 +136966,7 @@ ], "env_var": "PANTS_IPYTHON_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -133449,7 +137110,7 @@ "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "The IPython enhanced REPL (https://ipython.org/).\n\nThis version of Pants uses `ipython` version 7.34.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "The IPython enhanced REPL (https://ipython.org/).\n\nThis version of Pants uses `ipython` version 8.12.3 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.python", "scope": "ipython" @@ -133469,7 +137130,7 @@ ], "env_var": "PANTS_ISORT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `isort` version 5.11.5.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `isort` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `isort` version 5.13.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `isort` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -133503,7 +137164,7 @@ ], "env_var": "PANTS_ISORT_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -133535,7 +137196,7 @@ "comma_separated_display_args": "--isort-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -133566,7 +137227,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -133810,7 +137471,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "The Python import sorter tool (https://pycqa.github.io/isort/).\n\nThis version of Pants uses `isort` version 5.11.5 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "The Python import sorter tool (https://pycqa.github.io/isort/).\n\nThis version of Pants uses `isort` version 5.13.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.python.lint.isort", "scope": "isort" @@ -133911,7 +137572,7 @@ ], "env_var": "PANTS_JAR_TOOL_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/jvm/jar_tool/jar_tool.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=jar_tool`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/jvm/jar_tool/jar_tool.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=jar_tool`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -134082,7 +137743,7 @@ ], "env_var": "PANTS_JARJAR_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/jvm/shading/jarjar.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=jarjar`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/jvm/shading/jarjar.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=jarjar`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -134334,7 +137995,7 @@ ], "env_var": "PANTS_JAVA_AVRO_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/codegen/avro/java/avro-tools.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=java-avro`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/codegen/avro/java/avro-tools.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=java-avro`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -134646,7 +138307,7 @@ ], "env_var": "PANTS_JAVA_PARSER_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/java/dependency_inference/java_parser.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=java-parser`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/java/dependency_inference/java_parser.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=java-parser`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -134963,7 +138624,7 @@ ], "env_var": "PANTS_JUNIT_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/jvm/test/junit.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=junit`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/jvm/test/junit.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=junit`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -135804,7 +139465,7 @@ ], "env_var": "PANTS_KOTLIN_PARSER_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/kotlin/dependency_inference/kotlin_parser.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=kotlin-parser`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/kotlin/dependency_inference/kotlin_parser.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=kotlin-parser`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -135974,7 +139635,7 @@ "comma_separated_choices": null, "comma_separated_display_args": "--ktlint-version=", "config_key": "version", - "default": "0.45.2", + "default": "1.3.1", "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -136003,7 +139664,7 @@ { "details": null, "rank": "HARDCODED", - "value": "0.45.2" + "value": "1.3.1" } ] } @@ -136014,7 +139675,7 @@ "comma_separated_display_args": "--ktlint-artifacts=\"['', '', ...]\"", "config_key": "artifacts", "default": [ - "com.pinterest:ktlint:{version}" + "com.pinterest.ktlint:ktlint-cli:{version}" ], "deprecated_message": null, "deprecation_active": false, @@ -136045,7 +139706,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "com.pinterest:ktlint:{version}" + "com.pinterest.ktlint:ktlint-cli:{version}" ] } ] @@ -136064,7 +139725,7 @@ ], "env_var": "PANTS_KTLINT_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/kotlin/lint/ktlint/ktlint.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=ktlint`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/kotlin/lint/ktlint/ktlint.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=ktlint`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -136175,7 +139836,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Ktlint, the anti-bikeshedding Kotlin linter with built-in formatter (https://ktlint.github.io/)", + "description": "Ktlint, the anti-bikeshedding Kotlin linter with built-in formatter (https://pinterest.github.io/ktlint/)", "is_goal": false, "provider": "pants.backend.experimental.kotlin.lint.ktlint", "scope": "ktlint" @@ -136283,7 +139944,7 @@ ], "env_var": "PANTS_KUBECONFORM_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -137054,7 +140715,7 @@ ], "env_var": "PANTS_MAKESELF_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -137232,7 +140893,7 @@ ], "env_var": "PANTS_MYPY_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `mypy` version 1.4.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `mypy` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `mypy` version 1.11.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `mypy` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -137266,7 +140927,7 @@ ], "env_var": "PANTS_MYPY_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -137298,7 +140959,7 @@ "comma_separated_display_args": "--mypy-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -137329,7 +140990,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -137496,7 +141157,7 @@ ], "env_var": "PANTS_MYPY_SOURCE_PLUGINS", "fromfile": false, - "help": "An optional list of `python_sources` target addresses to load first-party plugins.\n\nYou must also set `plugins = path.to.module` in your `mypy.ini`, and set the `[mypy].config` option in your `pants.toml`.\n\nTo instead load third-party plugins, set the option `[mypy].install_from_resolve` to a resolve whose lockfile includes those plugins, and set the `plugins` option in `mypy.ini`. See https://www.pantsbuild.org/2.23/docs/python/goals/check.", + "help": "An optional list of `python_sources` target addresses to load first-party plugins.\n\nYou must also set `plugins = path.to.module` in your `mypy.ini`, and set the `[mypy].config` option in your `pants.toml`.\n\nTo instead load third-party plugins, set the option `[mypy].install_from_resolve` to a resolve whose lockfile includes those plugins, and set the `plugins` option in `mypy.ini`. See https://www.pantsbuild.org/2.24/docs/python/goals/check.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -137607,7 +141268,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "The MyPy Python type checker (http://mypy-lang.org/).\n\nThis version of Pants uses `mypy` version 1.4.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "The MyPy Python type checker (http://mypy-lang.org/).\n\nThis version of Pants uses `mypy` version 1.11.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.python.typecheck.mypy", "scope": "mypy" @@ -137627,7 +141288,7 @@ ], "env_var": "PANTS_MYPY_PROTOBUF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `mypy-protobuf` version 3.4.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `mypy-protobuf` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `mypy-protobuf` version 3.6.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `mypy-protobuf` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -137661,7 +141322,7 @@ ], "env_var": "PANTS_MYPY_PROTOBUF_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -137693,7 +141354,7 @@ "comma_separated_display_args": "--mypy-protobuf-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -137724,7 +141385,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -137734,11 +141395,288 @@ "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "Configuration of the mypy-protobuf type stub generation plugin.\n\nThis version of Pants uses `mypy-protobuf` version 3.4.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "Configuration of the mypy-protobuf type stub generation plugin.\n\nThis version of Pants uses `mypy-protobuf` version 3.6.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.codegen.protobuf.python", "scope": "mypy-protobuf" }, + "nfpm": { + "advanced": [ + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--nfpm-version=", + "config_key": "version", + "default": "2.38.0", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nfpm-version=" + ], + "env_var": "PANTS_NFPM_VERSION", + "fromfile": false, + "help": "Use this version of nFPM.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nfpm-version" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--version" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "2.38.0" + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--nfpm-known-versions=\"['', '', ...]\"", + "config_key": "known_versions", + "default": [ + "2.38.0|linux_arm64 |e63be8d586d7c8f6af06945956aa29fb88388caa19d7c5b652f41ae37a155b27|4780662", + "2.38.0|linux_x86_64|d9eebe93ee2832cfc8435b3f79ee92a845f1e5fbb99db5a3777a0013e175170d|5196368", + "2.38.0|macos_arm64 |48788831696cf056b1a0f9f52e187dbb65c191f5488962696ab3b98fff9f7821|4978997", + "2.38.0|macos_x86_64|781420f18ed6bd84a437fe3b272c1b1a03bad546aaaf4f7251b21c25a24ce32b|5294310", + "2.38.0|win_arm64 |1a9c7fcd50eb105231f6f6f6cb90d7cdf50e6c34665eb6e881a185387ad158b1|4888861", + "2.38.0|win_x86_64 |3124f9bb838410ef98eebfed2267670790ce6bb262ae2a6ca1938a69e087593b|5389117" + ], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nfpm-known-versions=\"['', '', ...]\"" + ], + "env_var": "PANTS_NFPM_KNOWN_VERSIONS", + "fromfile": false, + "help": "\nKnown versions to verify downloads against.\n\nEach element is a pipe-separated string of `version|platform|sha256|length` or\n`version|platform|sha256|length|url_override`, where:\n\n - `version` is the version string\n - `platform` is one of `[linux_arm64,linux_x86_64,macos_arm64,macos_x86_64]`\n - `sha256` is the 64-character hex representation of the expected sha256\n digest of the download file, as emitted by `shasum -a 256`\n - `length` is the expected length of the download file in bytes, as emitted by\n `wc -c`\n - (Optional) `url_override` is a specific url to use instead of the normally\n generated url for this version\n\nE.g., `3.1.2|macos_x86_64|6d0f18cd84b918c7b3edd0203e75569e0c7caecb1367bbbe409b44e28514f5be|42813`.\nand `3.1.2|macos_arm64 |aca5c1da0192e2fd46b7b55ab290a92c5f07309e7b0ebf4e45ba95731ae98291|50926|https://example.mac.org/bin/v3.1.2/mac-aarch64-v3.1.2.tgz`.\n\nValues are space-stripped, so pipes can be indented for readability if necessary.\n", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nfpm-known-versions" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--known-versions" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [ + "2.38.0|linux_arm64 |e63be8d586d7c8f6af06945956aa29fb88388caa19d7c5b652f41ae37a155b27|4780662", + "2.38.0|linux_x86_64|d9eebe93ee2832cfc8435b3f79ee92a845f1e5fbb99db5a3777a0013e175170d|5196368", + "2.38.0|macos_arm64 |48788831696cf056b1a0f9f52e187dbb65c191f5488962696ab3b98fff9f7821|4978997", + "2.38.0|macos_x86_64|781420f18ed6bd84a437fe3b272c1b1a03bad546aaaf4f7251b21c25a24ce32b|5294310", + "2.38.0|win_arm64 |1a9c7fcd50eb105231f6f6f6cb90d7cdf50e6c34665eb6e881a185387ad158b1|4888861", + "2.38.0|win_x86_64 |3124f9bb838410ef98eebfed2267670790ce6bb262ae2a6ca1938a69e087593b|5389117" + ] + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--nfpm-url-template=", + "config_key": "url_template", + "default": "https://github.com/goreleaser/nfpm/releases/download/v{version}/nfpm_{version}_{platform}", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nfpm-url-template=" + ], + "env_var": "PANTS_NFPM_URL_TEMPLATE", + "fromfile": false, + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nfpm-url-template" + ], + "target_field_name": null, + "typ": "str", + "unscoped_cmd_line_args": [ + "--url-template" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "https://github.com/goreleaser/nfpm/releases/download/v{version}/nfpm_{version}_{platform}" + } + ] + } + }, + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--nfpm-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"", + "config_key": "url_platform_mapping", + "default": { + "linux_arm64": "Linux_arm64.tar.gz", + "linux_x86_64": "Linux_x86_64.tar.gz", + "macos_arm64": "Darwin_arm64.tar.gz", + "macos_x86_64": "Darwin_x86_64.tar.gz", + "win_arm64": "Windows_arm64.zip", + "win_x86_64": "Windows_x86_64.zip" + }, + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nfpm-url-platform-mapping=\"{'key1': val1, 'key2': val2, ...}\"" + ], + "env_var": "PANTS_NFPM_URL_PLATFORM_MAPPING", + "fromfile": false, + "help": "A dictionary mapping platforms to strings to be used when generating the URL to download the tool.\n\nIn `--url-template`, anytime the `{platform}` string is used, Pants will determine the current platform, and substitute `{platform}` with the respective value from your dictionary.\n\nFor example, if you define `{\"macos_x86_64\": \"apple-darwin\", \"linux_x86_64\": \"unknown-linux\"}`, and run Pants on Linux with an intel architecture, then `{platform}` will be substituted in the `--url-template` option with `unknown-linux`.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nfpm-url-platform-mapping" + ], + "target_field_name": null, + "typ": "dict", + "unscoped_cmd_line_args": [ + "--url-platform-mapping" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": {} + }, + { + "details": "", + "rank": "HARDCODED", + "value": { + "linux_arm64": "Linux_arm64.tar.gz", + "linux_x86_64": "Linux_x86_64.tar.gz", + "macos_arm64": "Darwin_arm64.tar.gz", + "macos_x86_64": "Darwin_x86_64.tar.gz", + "win_arm64": "Windows_arm64.zip", + "win_x86_64": "Windows_x86_64.zip" + } + } + ] + } + }, + { + "choices": [ + "error", + "warning" + ], + "comma_separated_choices": "error, warning", + "comma_separated_display_args": "--nfpm-use-unsupported-version=", + "config_key": "use_unsupported_version", + "default": "error", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nfpm-use-unsupported-version=" + ], + "env_var": "PANTS_NFPM_USE_UNSUPPORTED_VERSION", + "fromfile": false, + "help": "\nWhat action to take in case the requested version of nFPM is not supported.\n\nSupported nFPM versions: unspecified\n", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nfpm-use-unsupported-version" + ], + "target_field_name": null, + "typ": "UnsupportedVersionUsage", + "unscoped_cmd_line_args": [ + "--use-unsupported-version" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "error" + } + ] + } + } + ], + "basic": [ + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--nfpm-default-mtime=", + "config_key": "default_mtime", + "default": "1980-01-01T00:00:00Z", + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--nfpm-default-mtime=" + ], + "env_var": "PANTS_NFPM_DEFAULT_MTIME", + "fromfile": false, + "help": "The file modification time as an RFC 3339 formatted string.\n\nFor example: 2008-01-02T15:04:05Z\n\nThe format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html\n\nThis option sets the default value for: - the `package_mtime` field on `nfpm_*_package` targets, and - the `file_mtime` field on `nfpm_content_*` targets.\n\nThe default value is '1980-01-01T00:00:00Z'. You may also set the SOURCE_DATE_EPOCH environment variable to override this default.\n\nSee also: https://reproducible-builds.org/docs/timestamps/", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--nfpm-default-mtime" + ], + "target_field_name": "nfpm_default_mtime", + "typ": "str", + "unscoped_cmd_line_args": [ + "--default-mtime" + ], + "value_history": { + "ranked_values": [ + { + "details": null, + "rank": "NONE", + "value": null + }, + { + "details": null, + "rank": "HARDCODED", + "value": "1980-01-01T00:00:00Z" + } + ] + } + } + ], + "deprecated": [], + "deprecated_scope": null, + "description": "The nFPM deb, rpm, apk, and archlinux packager (https://nfpm.goreleaser.com).", + "is_goal": false, + "provider": "pants.backend.experimental.nfpm", + "scope": "nfpm" + }, "nodejs": { "advanced": [ { @@ -137746,7 +141684,7 @@ "comma_separated_choices": null, "comma_separated_display_args": "--nodejs-version=", "config_key": "version", - "default": "v20.15.1", + "default": "v22.6.0", "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -137775,7 +141713,7 @@ { "details": null, "rank": "HARDCODED", - "value": "v20.15.1" + "value": "v22.6.0" } ] } @@ -137786,10 +141724,10 @@ "comma_separated_display_args": "--nodejs-known-versions=\"['', '', ...]\"", "config_key": "known_versions", "default": [ - "v20.15.1|macos_arm64|4743bc042f90ba5d9edf09403207290a9cdd2f6061bdccf7caaa0bbfd49f343e|41888895", - "v20.15.1|macos_x86_64|f5379772ffae1404cfd1fcc8cf0c6c5971306b8fb2090d348019047306de39dc|43531593", - "v20.15.1|linux_arm64|10d47a46ef208b3e4b226e4d595a82659123b22397ed77b7975d989114ec317e|24781292", - "v20.15.1|linux_x86_64|26700f8d3e78112ad4a2618a9c8e2816e38a49ecf0213ece80e54c38cb02563f|25627852" + "v22.6.0|macos_arm64|9ea60766807cd3c3a3ad6ad419f98918d634a60fe8dea5b9c07507ed0f176d4c|47583427", + "v22.6.0|macos_x86_64|8766c5968ca22d20fc6237c54c7c5d12ef12e15940d6119a79144ccb163ea737|49688634", + "v22.6.0|linux_arm64|0053ee0426c4daaa65c44f2cef87be45135001c3145cfb840aa1d0e6f2619610|28097296", + "v22.6.0|linux_x86_64|acbbe539edc33209bb3e1b25f7545b5ca5d70e6256ed8318e1ec1e41e7b35703|29240984" ], "deprecated_message": null, "deprecation_active": false, @@ -137820,10 +141758,10 @@ "details": "", "rank": "HARDCODED", "value": [ - "v20.15.1|macos_arm64|4743bc042f90ba5d9edf09403207290a9cdd2f6061bdccf7caaa0bbfd49f343e|41888895", - "v20.15.1|macos_x86_64|f5379772ffae1404cfd1fcc8cf0c6c5971306b8fb2090d348019047306de39dc|43531593", - "v20.15.1|linux_arm64|10d47a46ef208b3e4b226e4d595a82659123b22397ed77b7975d989114ec317e|24781292", - "v20.15.1|linux_x86_64|26700f8d3e78112ad4a2618a9c8e2816e38a49ecf0213ece80e54c38cb02563f|25627852" + "v22.6.0|macos_arm64|9ea60766807cd3c3a3ad6ad419f98918d634a60fe8dea5b9c07507ed0f176d4c|47583427", + "v22.6.0|macos_x86_64|8766c5968ca22d20fc6237c54c7c5d12ef12e15940d6119a79144ccb163ea737|49688634", + "v22.6.0|linux_arm64|0053ee0426c4daaa65c44f2cef87be45135001c3145cfb840aa1d0e6f2619610|28097296", + "v22.6.0|linux_x86_64|acbbe539edc33209bb3e1b25f7545b5ca5d70e6256ed8318e1ec1e41e7b35703|29240984" ] } ] @@ -137842,7 +141780,7 @@ ], "env_var": "PANTS_NODEJS_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -138128,7 +142066,7 @@ "comma_separated_display_args": "--nodejs-package-managers=\"{'key1': val1, 'key2': val2, ...}\"", "config_key": "package_managers", "default": { - "npm": "10.8.1", + "npm": "10.8.2", "pnpm": "9.5.0", "yarn": "1.22.22" }, @@ -138161,7 +142099,7 @@ "details": "", "rank": "HARDCODED", "value": { - "npm": "10.8.1", + "npm": "10.8.2", "pnpm": "9.5.0", "yarn": "1.22.22" } @@ -138719,7 +142657,7 @@ ], "env_var": "PANTS_OPENAPI_GENERATOR_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/openapi/subsystems/openapi_generator.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=openapi-generator`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/openapi/subsystems/openapi_generator.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=openapi-generator`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -139305,49 +143243,7 @@ } ], "basic": [], - "deprecated": [ - { - "choices": null, - "comma_separated_choices": null, - "comma_separated_display_args": "--[no-]pex-binary-defaults-resolve-local-platforms", - "config_key": "resolve_local_platforms", - "default": false, - "deprecated_message": "Deprecated, is scheduled to be removed in version: 2.24.0.dev0.", - "deprecation_active": true, - "display_args": [ - "--[no-]pex-binary-defaults-resolve-local-platforms" - ], - "env_var": "PANTS_PEX_BINARY_DEFAULTS_RESOLVE_LOCAL_PLATFORMS", - "fromfile": false, - "help": "Now unused.", - "removal_hint": "This `resolve_local_platforms` option is no longer used now that the `platforms` field has been removed. You can safely delete this setting.", - "removal_version": "2.24.0.dev0", - "scoped_cmd_line_args": [ - "--pex-binary-defaults-resolve-local-platforms", - "--no-pex-binary-defaults-resolve-local-platforms" - ], - "target_field_name": null, - "typ": "bool", - "unscoped_cmd_line_args": [ - "--resolve-local-platforms", - "--no-resolve-local-platforms" - ], - "value_history": { - "ranked_values": [ - { - "details": null, - "rank": "NONE", - "value": null - }, - { - "details": null, - "rank": "HARDCODED", - "value": false - } - ] - } - } - ], + "deprecated": [], "deprecated_scope": null, "description": "Default settings for creating PEX executables.", "is_goal": false, @@ -139361,7 +143257,7 @@ "comma_separated_choices": null, "comma_separated_display_args": "--pex-cli-version=", "config_key": "version", - "default": "v2.11.0", + "default": "v2.16.2", "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -139369,7 +143265,7 @@ ], "env_var": "PANTS_PEX_CLI_VERSION", "fromfile": false, - "help": "Use this version of pex.\n\nSupported pex versions: >=2.3.0,<3.0", + "help": "Use this version of pex.\n\nSupported pex versions: >=2.13.0,<3.0", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -139390,7 +143286,7 @@ { "details": null, "rank": "HARDCODED", - "value": "v2.11.0" + "value": "v2.16.2" } ] } @@ -139401,10 +143297,10 @@ "comma_separated_display_args": "--pex-cli-known-versions=\"['', '', ...]\"", "config_key": "known_versions", "default": [ - "v2.11.0|macos_arm64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790", - "v2.11.0|macos_x86_64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790", - "v2.11.0|linux_x86_64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790", - "v2.11.0|linux_arm64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790" + "v2.16.2|macos_arm64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448", + "v2.16.2|macos_x86_64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448", + "v2.16.2|linux_x86_64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448", + "v2.16.2|linux_arm64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448" ], "deprecated_message": null, "deprecation_active": false, @@ -139435,10 +143331,10 @@ "details": "", "rank": "HARDCODED", "value": [ - "v2.11.0|macos_arm64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790", - "v2.11.0|macos_x86_64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790", - "v2.11.0|linux_x86_64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790", - "v2.11.0|linux_arm64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790" + "v2.16.2|macos_arm64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448", + "v2.16.2|macos_x86_64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448", + "v2.16.2|linux_x86_64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448", + "v2.16.2|linux_arm64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448" ] } ] @@ -139457,7 +143353,7 @@ ], "env_var": "PANTS_PEX_CLI_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -139533,7 +143429,7 @@ ], "env_var": "PANTS_PEX_CLI_USE_UNSUPPORTED_VERSION", "fromfile": false, - "help": "\nWhat action to take in case the requested version of pex is not supported.\n\nSupported pex versions: >=2.3.0,<3.0\n", + "help": "\nWhat action to take in case the requested version of pex is not supported.\n\nSupported pex versions: >=2.13.0,<3.0\n", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -139560,7 +143456,47 @@ } } ], - "basic": [], + "basic": [ + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--pex-cli-global-args=\"[, , ...]\"", + "config_key": "global_args", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--pex-cli-global-args=\"[, , ...]\"" + ], + "env_var": "PANTS_PEX_CLI_GLOBAL_ARGS", + "fromfile": false, + "help": "Arguments to pass directly to pex, e.g. `--pex-cli-args='--check=error --no-compile'`.\n\nNote that these apply to all invocations of the pex tool, including building `pex_binary` targets, preparing `python_test` targets to run, and generating lockfiles.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--pex-cli-global-args" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--global-args" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + } + ], "deprecated": [], "deprecated_scope": null, "description": "The PEX (Python EXecutable) tool (https://github.com/pex-tool/pex).", @@ -139927,7 +143863,7 @@ ], "env_var": "PANTS_PROTOBUF_JAVA_GRPC_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/codegen/protobuf/java/grpc-java.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=protobuf-java-grpc`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/codegen/protobuf/java/grpc-java.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=protobuf-java-grpc`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -140120,7 +144056,7 @@ ], "env_var": "PANTS_PROTOC_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -140475,7 +144411,7 @@ ], "env_var": "PANTS_PYDOCSTYLE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pydocstyle` version 6.3.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pydocstyle` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pydocstyle` version 6.3.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pydocstyle` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -140509,7 +144445,7 @@ ], "env_var": "PANTS_PYDOCSTYLE_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -140541,7 +144477,7 @@ "comma_separated_display_args": "--pydocstyle-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -140572,7 +144508,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -140919,7 +144855,7 @@ ], "env_var": "PANTS_PYENV_PYTHON_PROVIDER_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -141085,7 +145021,7 @@ ], "env_var": "PANTS_PYLINT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pylint` version 2.13.9.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pylint` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pylint` version 2.17.7.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pylint` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -141119,7 +145055,7 @@ ], "env_var": "PANTS_PYLINT_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -141306,7 +145242,7 @@ ], "env_var": "PANTS_PYLINT_SOURCE_PLUGINS", "fromfile": false, - "help": "An optional list of `python_sources` target addresses to load first-party plugins.\n\nYou must set the plugin's parent directory as a source root. For example, if your plugin is at `build-support/pylint/custom_plugin.py`, add `'build-support/pylint'` to `[source].root_patterns` in `pants.toml`. This is necessary for Pants to know how to tell Pylint to discover your plugin. See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/source-roots\n\nYou must also set `load-plugins=$module_name` in your Pylint config file.\n\nWhile your plugin's code can depend on other first-party code and third-party requirements, all first-party dependencies of the plugin must live in the same directory or a subdirectory.\n\nTo instead load third-party plugins, add them to a custom resolve alongside pylint itself, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.", + "help": "An optional list of `python_sources` target addresses to load first-party plugins.\n\nYou must set the plugin's parent directory as a source root. For example, if your plugin is at `build-support/pylint/custom_plugin.py`, add `'build-support/pylint'` to `[source].root_patterns` in `pants.toml`. This is necessary for Pants to know how to tell Pylint to discover your plugin. See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/source-roots\n\nYou must also set `load-plugins=$module_name` in your Pylint config file.\n\nWhile your plugin's code can depend on other first-party code and third-party requirements, all first-party dependencies of the plugin must live in the same directory or a subdirectory.\n\nTo instead load third-party plugins, add them to a custom resolve alongside pylint itself, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -141417,7 +145353,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "The Pylint linter for Python code (https://www.pylint.org/).\n\nThis version of Pants uses `pylint` version 2.13.9 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "The Pylint linter for Python code (https://www.pylint.org/).\n\nThis version of Pants uses `pylint` version 2.17.7 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.python.lint.pylint", "scope": "pylint" @@ -141437,7 +145373,7 @@ ], "env_var": "PANTS_PYOXIDIZER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pyoxidizer` version 0.24.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pyoxidizer` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pyoxidizer` version 0.24.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pyoxidizer` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -141471,7 +145407,7 @@ ], "env_var": "PANTS_PYOXIDIZER_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -141743,7 +145679,7 @@ "comma_separated_display_args": "--pyright-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -141774,7 +145710,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -141885,7 +145821,7 @@ ], "env_var": "PANTS_PYTEST_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pytest` version 7.0.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pytest` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pytest` version 7.0.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pytest` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -141919,7 +145855,7 @@ ], "env_var": "PANTS_PYTEST_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -142303,38 +146239,40 @@ { "choices": null, "comma_separated_choices": null, - "comma_separated_display_args": "--python-interpreter-constraints=\"[, , ...]\"", - "config_key": "interpreter_constraints", - "default": [], + "comma_separated_display_args": "--[no-]python-warn-on-python2-usage", + "config_key": "warn_on_python2_usage", + "default": true, "deprecated_message": null, "deprecation_active": false, "display_args": [ - "--python-interpreter-constraints=\"[, , ...]\"" + "--[no-]python-warn-on-python2-usage" ], - "env_var": "PANTS_PYTHON_INTERPRETER_CONSTRAINTS", + "env_var": "PANTS_PYTHON_WARN_ON_PYTHON2_USAGE", "fromfile": false, - "help": "The Python interpreters your codebase is compatible with.\n\nThese constraints are used as the default value for the `interpreter_constraints` field of Python targets.\n\nSpecify with requirement syntax, e.g. `'CPython>=2.7,<3'` (A CPython interpreter with version >=2.7 AND version <3) or `'PyPy'` (A pypy interpreter of any version). Multiple constraint strings will be ORed together.", + "help": "True if Pants should generate a deprecation warning when Python 2.x is used in interpreter constraints.\n\nAs of Pants v2.24.x and later, Pants will no longer be tested regularly with Python 2.7.x. As such, going forward, Pants may or may not work with Python 2.7. This option allows disabling the deprecation warning announcing this policy change.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ - "--python-interpreter-constraints" + "--python-warn-on-python2-usage", + "--no-python-warn-on-python2-usage" ], "target_field_name": null, - "typ": "list", + "typ": "bool", "unscoped_cmd_line_args": [ - "--interpreter-constraints" + "--warn-on-python2-usage", + "--no-warn-on-python2-usage" ], "value_history": { "ranked_values": [ { - "details": "", + "details": null, "rank": "NONE", - "value": [] + "value": null }, { - "details": "", + "details": null, "rank": "HARDCODED", - "value": [] + "value": true } ] } @@ -142363,7 +146301,7 @@ ], "env_var": "PANTS_PYTHON_INTERPRETER_VERSIONS_UNIVERSE", "fromfile": false, - "help": "All known Python major/minor interpreter versions that may be used by either your code or tools used by your code.\n\nThis is used by Pants to robustly handle interpreter constraints, such as knowing when generating lockfiles which Python versions to check if your code is using.\n\nThis does not control which interpreter your code will use. Instead, to set your interpreter constraints, update `[python].interpreter_constraints`, the `interpreter_constraints` field, and relevant tool options like `[isort].interpreter_constraints` to tell Pants which interpreters your code actually uses. See https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility.\n\nAll elements must be the minor and major Python version, e.g. `'2.7'` or `'3.10'`. Do not include the patch version.", + "help": "All known Python major/minor interpreter versions that may be used by either your code or tools used by your code.\n\nThis is used by Pants to robustly handle interpreter constraints, such as knowing when generating lockfiles which Python versions to check if your code is using.\n\nThis does not control which interpreter your code will use. Instead, to set your interpreter constraints, update `[python].interpreter_constraints`, the `interpreter_constraints` field, and relevant tool options like `[isort].interpreter_constraints` to tell Pants which interpreters your code actually uses. See https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility.\n\nAll elements must be the minor and major Python version, e.g. `'2.7'` or `'3.10'`. Do not include the patch version.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -142456,7 +146394,7 @@ ], "env_var": "PANTS_PYTHON_RESOLVES", "fromfile": false, - "help": "A mapping of logical names to lockfile paths used in your project.\n\nMany organizations only need a single resolve for their whole project, which is a good default and often the simplest thing to do. However, you may need multiple resolves, such as if you use two conflicting versions of a requirement in your repository.\n\nIf you only need a single resolve, run `pants generate-lockfiles` to generate the lockfile.\n\nIf you need multiple resolves:\n\n 1. Via this option, define multiple resolve names and their lockfile paths. The names should be meaningful to your repository, such as `data-science` or `pants-plugins`.\n 2. Set the default with `[python].default_resolve`.\n 3. Update your `python_requirement` targets with the `resolve` field to declare which resolve they should be available in. They default to `[python].default_resolve`, so you only need to update targets that you want in non-default resolves. (Often you'll set this via the `python_requirements` or `poetry_requirements` target generators)\n 4. Run `pants generate-lockfiles` to generate the lockfiles. If the results aren't what you'd expect, adjust the prior step.\n 5. Update any targets like `python_source` / `python_sources`, `python_test` / `python_tests`, and `pex_binary` which need to set a non-default resolve with the `resolve` field.\n\nIf a target can work with multiple resolves, you can either use the `parametrize` mechanism or manually create a distinct target per resolve. See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for information about `parametrize`.\n\nFor example:\n\n python_sources(\n resolve=parametrize(\"data-science\", \"web-app\"),\n )\n\nYou can name the lockfile paths what you would like; Pants does not expect a certain file extension or location.\n\nOnly applies if `[python].enable_resolves` is true.", + "help": "A mapping of logical names to lockfile paths used in your project.\n\nMany organizations only need a single resolve for their whole project, which is a good default and often the simplest thing to do. However, you may need multiple resolves, such as if you use two conflicting versions of a requirement in your repository.\n\nIf you only need a single resolve, run `pants generate-lockfiles` to generate the lockfile.\n\nIf you need multiple resolves:\n\n 1. Via this option, define multiple resolve names and their lockfile paths. The names should be meaningful to your repository, such as `data-science` or `pants-plugins`.\n 2. Set the default with `[python].default_resolve`.\n 3. Update your `python_requirement` targets with the `resolve` field to declare which resolve they should be available in. They default to `[python].default_resolve`, so you only need to update targets that you want in non-default resolves. (Often you'll set this via the `python_requirements` or `poetry_requirements` target generators)\n 4. Run `pants generate-lockfiles` to generate the lockfiles. If the results aren't what you'd expect, adjust the prior step.\n 5. Update any targets like `python_source` / `python_sources`, `python_test` / `python_tests`, and `pex_binary` which need to set a non-default resolve with the `resolve` field.\n\nIf a target can work with multiple resolves, you can either use the `parametrize` mechanism or manually create a distinct target per resolve. See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for information about `parametrize`.\n\nFor example:\n\n python_sources(\n resolve=parametrize(\"data-science\", \"web-app\"),\n )\n\nYou can name the lockfile paths what you would like; Pants does not expect a certain file extension or location.\n\nOnly applies if `[python].enable_resolves` is true.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -142528,7 +146466,7 @@ "comma_separated_choices": null, "comma_separated_display_args": "--python-pip-version=", "config_key": "pip_version", - "default": "24.0", + "default": "24.2", "deprecated_message": null, "deprecation_active": false, "display_args": [ @@ -142536,7 +146474,7 @@ ], "env_var": "PANTS_PYTHON_PIP_VERSION", "fromfile": false, - "help": "Use this version of Pip for resolving requirements and generating lockfiles.\n\nThe value used here must be one of the Pip versions supported by the underlying PEX version. See https://www.pantsbuild.org/2.23/docs/python/overview/pex for details.\n\nN.B.: The `latest` value selects the latest of the choices listed by PEX which is not necessarily the latest Pip version released on PyPI.", + "help": "Use this version of Pip for resolving requirements and generating lockfiles.\n\nThe value used here must be one of the Pip versions supported by the underlying PEX version. See https://www.pantsbuild.org/2.24/docs/python/overview/pex for details.\n\nN.B.: The `latest` value selects the latest of the choices listed by PEX which is not necessarily the latest Pip version released on PyPI.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -142557,7 +146495,7 @@ { "details": null, "rank": "HARDCODED", - "value": "24.0" + "value": "24.2" } ] } @@ -143171,6 +147109,45 @@ } ], "basic": [ + { + "choices": null, + "comma_separated_choices": null, + "comma_separated_display_args": "--python-interpreter-constraints=\"[, , ...]\"", + "config_key": "interpreter_constraints", + "default": [], + "deprecated_message": null, + "deprecation_active": false, + "display_args": [ + "--python-interpreter-constraints=\"[, , ...]\"" + ], + "env_var": "PANTS_PYTHON_INTERPRETER_CONSTRAINTS", + "fromfile": false, + "help": "The Python interpreters your codebase is compatible with.\n\nThese constraints are used as the default value for the `interpreter_constraints` field of Python targets.\n\nSpecify with requirement syntax, e.g. `'CPython>=2.7,<3'` (A CPython interpreter with version >=2.7 AND version <3) or `'PyPy'` (A pypy interpreter of any version). Multiple constraint strings will be ORed together.", + "removal_hint": null, + "removal_version": null, + "scoped_cmd_line_args": [ + "--python-interpreter-constraints" + ], + "target_field_name": null, + "typ": "list", + "unscoped_cmd_line_args": [ + "--interpreter-constraints" + ], + "value_history": { + "ranked_values": [ + { + "details": "", + "rank": "NONE", + "value": [] + }, + { + "details": "", + "rank": "HARDCODED", + "value": [] + } + ] + } + }, { "choices": null, "comma_separated_choices": null, @@ -143589,7 +147566,7 @@ ], "env_var": "PANTS_PYTHON_GRPCLIB_PROTOBUF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `grpclib` version 0.4.7.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `python-grpclib-protobuf` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `grpclib` version 0.4.7.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `python-grpclib-protobuf` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -143623,7 +147600,7 @@ ], "env_var": "PANTS_PYTHON_GRPCLIB_PROTOBUF_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -143655,7 +147632,7 @@ "comma_separated_display_args": "--python-grpclib-protobuf-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -143686,7 +147663,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -144471,7 +148448,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Options related to the Protobuf Python backend.\n\nSee https://www.pantsbuild.org/2.23/docs/python/integrations/protobuf-and-grpc.", + "description": "Options related to the Protobuf Python backend.\n\nSee https://www.pantsbuild.org/2.24/docs/python/integrations/protobuf-and-grpc.", "is_goal": false, "provider": "pants.backend.codegen.protobuf.python", "scope": "python-protobuf" @@ -144534,7 +148511,7 @@ ], "env_var": "PANTS_PYTHON_REPOS_PATH_MAPPINGS", "fromfile": false, - "help": "Mappings to facilitate using local Python requirements when the absolute file paths are different on different users' machines. For example, the path `file:///Users/pantsbuild/prebuilt_wheels/django-3.1.1-py3-none-any.whl` could become `file://${WHEELS_DIR}/django-3.1.1-py3-none-any.whl`, where each user can configure what `WHEELS_DIR` points to on their machine.\n\nExpects values in the form `NAME|PATH`, e.g. `WHEELS_DIR|/Users/pantsbuild/prebuilt_wheels`. You can specify multiple entries in the list.\n\nThis feature is intended to be used with `[python-repos].find_links`, rather than PEP 440 direct reference requirements (see https://www.pantsbuild.org/2.23/docs/python/overview/third-party-dependencies#local-requirements. `[python-repos].find_links` must be configured to a valid absolute path for the current machine.\n\nTip: you can avoid each user needing to manually configure this option and `[python-repos].find_links` by using a common file location, along with Pants's interpolation support (https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-interpolation. For example, in `pants.toml`, you could set both options to `%(buildroot)s/python_wheels` to point to the directory `python_wheels` in the root of your repository; or, use the path `%(env.HOME)s/pants_wheels` for the path `~/pants_wheels`. If you are not able to use a common path like this, then we recommend setting that each user set these options via a `.pants.rc` file (https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#pantsrc-file.\n\nNote: Only takes effect if using Pex lockfiles, i.e. using the `generate-lockfiles` goal.", + "help": "Mappings to facilitate using local Python requirements when the absolute file paths are different on different users' machines. For example, the path `file:///Users/pantsbuild/prebuilt_wheels/django-3.1.1-py3-none-any.whl` could become `file://${WHEELS_DIR}/django-3.1.1-py3-none-any.whl`, where each user can configure what `WHEELS_DIR` points to on their machine.\n\nExpects values in the form `NAME|PATH`, e.g. `WHEELS_DIR|/Users/pantsbuild/prebuilt_wheels`. You can specify multiple entries in the list.\n\nThis feature is intended to be used with `[python-repos].find_links`, rather than PEP 440 direct reference requirements (see https://www.pantsbuild.org/2.24/docs/python/overview/third-party-dependencies#local-requirements. `[python-repos].find_links` must be configured to a valid absolute path for the current machine.\n\nTip: you can avoid each user needing to manually configure this option and `[python-repos].find_links` by using a common file location, along with Pants's interpolation support (https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-interpolation. For example, in `pants.toml`, you could set both options to `%(buildroot)s/python_wheels` to point to the directory `python_wheels` in the root of your repository; or, use the path `%(env.HOME)s/pants_wheels` for the path `~/pants_wheels`. If you are not able to use a common path like this, then we recommend setting that each user set these options via a `.pants.rc` file (https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#pantsrc-file.\n\nNote: Only takes effect if using Pex lockfiles, i.e. using the `generate-lockfiles` goal.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -144756,7 +148733,7 @@ ], "env_var": "PANTS_PYTYPE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pytype` version 2023.6.16.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pytype` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pytype` version 2023.6.16.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pytype` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -144790,7 +148767,7 @@ ], "env_var": "PANTS_PYTYPE_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -144822,7 +148799,7 @@ "comma_separated_display_args": "--pytype-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<3.11" + "CPython>=3.8,<3.11" ], "deprecated_message": null, "deprecation_active": false, @@ -144853,7 +148830,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<3.11" + "CPython>=3.8,<3.11" ] } ] @@ -145071,7 +149048,7 @@ ], "env_var": "PANTS_PYUPGRADE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pyupgrade` version 3.3.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pyupgrade` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pyupgrade` version 3.8.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `pyupgrade` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -145105,7 +149082,7 @@ ], "env_var": "PANTS_PYUPGRADE_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -145137,7 +149114,7 @@ "comma_separated_display_args": "--pyupgrade-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -145168,7 +149145,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -145332,7 +149309,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Upgrade syntax for newer versions of the language (https://github.com/asottile/pyupgrade).\n\nThis version of Pants uses `pyupgrade` version 3.3.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "Upgrade syntax for newer versions of the language (https://github.com/asottile/pyupgrade).\n\nThis version of Pants uses `pyupgrade` version 3.8.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.python.lint.pyupgrade", "scope": "pyupgrade" @@ -145782,7 +149759,7 @@ ], "env_var": "PANTS_RUFF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `ruff` version 0.4.9.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `ruff` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `ruff` version 0.6.4.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `ruff` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -145816,7 +149793,7 @@ ], "env_var": "PANTS_RUFF_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -145848,7 +149825,7 @@ "comma_separated_display_args": "--ruff-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -145879,7 +149856,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -146118,7 +150095,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "The Ruff Python formatter (https://github.com/astral-sh/ruff).\n\nThis version of Pants uses `ruff` version 0.4.9 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "The Ruff Python formatter (https://github.com/astral-sh/ruff).\n\nThis version of Pants uses `ruff` version 0.6.4 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.experimental.python.lint.ruff.check", "scope": "ruff" @@ -146733,7 +150710,7 @@ ], "env_var": "PANTS_SCALA_PARSER_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/scala/dependency_inference/scala_parser.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scala-parser`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/scala/dependency_inference/scala_parser.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scala-parser`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -146993,7 +150970,7 @@ ], "env_var": "PANTS_SCALAFIX_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/scala/lint/scalafix/scalafix.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalafix`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/scala/lint/scalafix/scalafix.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalafix`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -147368,7 +151345,7 @@ ], "env_var": "PANTS_SCALAFMT_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/scala/lint/scalafmt/scalafmt.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalafmt`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/scala/lint/scalafmt/scalafmt.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalafmt`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -147663,7 +151640,7 @@ ], "env_var": "PANTS_SCALAPB_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/codegen/protobuf/scala/scalapbc.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalapb`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/codegen/protobuf/scala/scalapbc.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalapb`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -147874,7 +151851,7 @@ ], "env_var": "PANTS_SCALATEST_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/scala/subsystems/scalatest.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalatest`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/scala/subsystems/scalatest.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalatest`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -148133,7 +152110,7 @@ ], "env_var": "PANTS_SCC_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -148397,7 +152374,7 @@ ], "env_var": "PANTS_SCROOGE_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/codegen/thrift/scrooge/scrooge.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scrooge`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/codegen/thrift/scrooge/scrooge.default.lockfile.txt for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scrooge`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -148486,7 +152463,7 @@ ], "env_var": "PANTS_SEMGREP_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `semgrep` version 1.72.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `semgrep` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `semgrep` version 1.86.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `semgrep` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -148520,7 +152497,7 @@ ], "env_var": "PANTS_SEMGREP_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -148826,7 +152803,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Lightweight static analysis for many languages. Find bug variants with patterns that look like source code. (https://semgrep.dev/)\n\nPants automatically finds config files (`.semgrep.yml`, `.semgrep.yaml`, and `.yml` or `.yaml` files within `.semgrep/` directories), and runs semgrep against all _targets_ known to Pants.\n\nThis version of Pants uses `semgrep` version 1.72.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "Lightweight static analysis for many languages. Find bug variants with patterns that look like source code. (https://semgrep.dev/)\n\nPants automatically finds config files (`.semgrep.yml`, `.semgrep.yaml`, and `.yml` or `.yaml` files within `.semgrep/` directories), and runs semgrep against all _targets_ known to Pants.\n\nThis version of Pants uses `semgrep` version 1.86.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.experimental.tools.semgrep", "scope": "semgrep" @@ -148941,7 +152918,7 @@ ], "env_var": "PANTS_SETUPTOOLS_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `setuptools` version 63.4.3.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `setuptools` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `setuptools` version 74.1.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `setuptools` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -148975,7 +152952,7 @@ ], "env_var": "PANTS_SETUPTOOLS_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -149005,7 +152982,7 @@ "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "Python setuptools, used to package `python_distribution` targets.\n\nThis version of Pants uses `setuptools` version 63.4.3 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "Python setuptools, used to package `python_distribution` targets.\n\nThis version of Pants uses `setuptools` version 74.1.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.python", "scope": "setuptools" @@ -149025,7 +153002,7 @@ ], "env_var": "PANTS_SETUPTOOLS_SCM_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `setuptools-scm` version 7.1.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `setuptools-scm` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `setuptools-scm` version 7.1.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `setuptools-scm` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -149059,7 +153036,7 @@ ], "env_var": "PANTS_SETUPTOOLS_SCM_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -149091,7 +153068,7 @@ "comma_separated_display_args": "--setuptools-scm-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -149122,7 +153099,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -149584,7 +153561,7 @@ ], "env_var": "PANTS_SHELLCHECK_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -149951,7 +153928,7 @@ ], "env_var": "PANTS_SHFMT_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -150302,7 +154279,7 @@ ], "env_var": "PANTS_SHUNIT2_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -150480,7 +154457,7 @@ ], "env_var": "PANTS_SOURCE_ROOT_PATTERNS", "fromfile": false, - "help": "A list of source root suffixes.\n\nA directory with this suffix will be considered a potential source root. E.g., `src/python` will match `/src/python`, `/project1/src/python` etc.\n\nPrepend a `/` to anchor the match at the buildroot. E.g., `/src/python` will match `/src/python` but not `/project1/src/python`.\n\nA `*` wildcard will match a single path segment, E.g., `src/*` will match `/src/python` and `/src/rust`.\n\nUse `/` to signify that the buildroot itself is a source root.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/source-roots.", + "help": "A list of source root suffixes.\n\nA directory with this suffix will be considered a potential source root. E.g., `src/python` will match `/src/python`, `/project1/src/python` etc.\n\nPrepend a `/` to anchor the match at the buildroot. E.g., `/src/python` will match `/src/python` but not `/project1/src/python`.\n\nA `*` wildcard will match a single path segment, E.g., `src/*` will match `/src/python` and `/src/rust`.\n\nUse `/` to signify that the buildroot itself is a source root.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/source-roots.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -150744,7 +154721,7 @@ ], "env_var": "PANTS_SQLFLUFF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `sqlfluff` version 2.3.5.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `sqlfluff` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `sqlfluff` version 2.3.5.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `sqlfluff` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -150778,7 +154755,7 @@ ], "env_var": "PANTS_SQLFLUFF_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -150810,7 +154787,7 @@ "comma_separated_display_args": "--sqlfluff-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -150841,7 +154818,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -151391,7 +155368,7 @@ ], "env_var": "PANTS_STRIP_JAR_LOCKFILE", "fromfile": false, - "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/jvm/strip_jar/strip_jar.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=strip-jar`.", + "help": "Path to a lockfile used for installing the tool.\n\nSet to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/jvm/strip_jar/strip_jar.lock for the default lockfile contents.\n\nTo use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=strip-jar`.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -151486,7 +155463,7 @@ ], "env_var": "PANTS_SUBPROCESS_ENVIRONMENT_ENV_VARS", "fromfile": false, - "help": "Environment variables to set for process invocations.\n\nEntries are either strings in the form `ENV_VAR=value` to set an explicit value; or just `ENV_VAR` to copy the value from Pants's own environment.\n\nSee https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#addremove-semantics for how to add and remove Pants's default for this option.", + "help": "Environment variables to set for process invocations.\n\nEntries are either strings in the form `ENV_VAR=value` to set an explicit value; or just `ENV_VAR` to copy the value from Pants's own environment.\n\nSee https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#addremove-semantics for how to add and remove Pants's default for this option.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -151714,7 +155691,7 @@ ], "env_var": "PANTS_TAILOR_ALIAS_MAPPING", "fromfile": false, - "help": "A mapping from standard target type to custom type to use instead. The custom type can be a custom target type or a macro that offers compatible functionality to the one it replaces (see https://www.pantsbuild.org/2.23/docs/writing-plugins/macros).", + "help": "A mapping from standard target type to custom type to use instead. The custom type can be a custom target type or a macro that offers compatible functionality to the one it replaces (see https://www.pantsbuild.org/2.24/docs/writing-plugins/macros).", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -151972,7 +155949,7 @@ ], "env_var": "PANTS_TAPLO_URL_TEMPLATE", "fromfile": false, - "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", + "help": "URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)).\n\nUse `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -152334,7 +156311,7 @@ ], "env_var": "PANTS_TERRAFORM_HCL2_PARSER_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `python-hcl2` version 4.3.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `terraform-hcl2-parser` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `python-hcl2` version 4.3.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `terraform-hcl2-parser` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -152368,7 +156345,7 @@ ], "env_var": "PANTS_TERRAFORM_HCL2_PARSER_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -152400,7 +156377,7 @@ "comma_separated_display_args": "--terraform-hcl2-parser-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -152431,7 +156408,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -152441,7 +156418,7 @@ "basic": [], "deprecated": [], "deprecated_scope": null, - "description": "Used to parse Terraform modules to infer their dependencies.\n\nThis version of Pants uses `python-hcl2` version 4.3.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "Used to parse Terraform modules to infer their dependencies.\n\nThis version of Pants uses `python-hcl2` version 4.3.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.experimental.terraform", "scope": "terraform-hcl2-parser" @@ -153977,7 +157954,7 @@ ], "env_var": "PANTS_TWINE_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `twine` version 4.0.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `twine` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `twine` version 4.0.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `twine` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -154011,7 +157988,7 @@ ], "env_var": "PANTS_TWINE_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -154043,7 +158020,7 @@ "comma_separated_display_args": "--twine-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -154074,7 +158051,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -154241,7 +158218,7 @@ ], "env_var": "PANTS_TWINE_CA_CERTS_PATH", "fromfile": false, - "help": "Path to a file containing PEM-format CA certificates used for verifying secure connections when publishing python distributions.\n\nUses the value from `[GLOBAL].ca_certs_path` by default. Set to `\"\"` to not use any certificates.\n\nEven when using the `docker_environment` and `remote_environment` targets, this path will be read from the local host, and those certs will be used in the environment.\n\nThis option cannot be overridden via environment targets, so if you need a different value than what the rest of your organization is using, override the value via an environment variable, CLI argument, or `.pants.rc` file. See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options.", + "help": "Path to a file containing PEM-format CA certificates used for verifying secure connections when publishing python distributions.\n\nUses the value from `[GLOBAL].ca_certs_path` by default. Set to `\"\"` to not use any certificates.\n\nEven when using the `docker_environment` and `remote_environment` targets, this path will be read from the local host, and those certs will be used in the environment.\n\nThis option cannot be overridden via environment targets, so if you need a different value than what the rest of your organization is using, override the value via an environment variable, CLI argument, or `.pants.rc` file. See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -154446,9 +158423,10 @@ "choices": [ "yapf", "black", - "ruff" + "ruff", + "buildifier" ], - "comma_separated_choices": "yapf, black, ruff", + "comma_separated_choices": "yapf, black, ruff, buildifier", "comma_separated_display_args": "--update-build-files-formatter=", "config_key": "formatter", "default": "black", @@ -154529,7 +158507,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "Format and fix safe deprecations in BUILD files.\n\nThis does not handle the full Pants upgrade. You must still manually change `pants_version` in `pants.toml` and you may need to manually address some deprecations. See https://www.pantsbuild.org/2.23/docs/releases/upgrade-tips for upgrade tips.", + "description": "Format and fix safe deprecations in BUILD files.\n\nThis does not handle the full Pants upgrade. You must still manually change `pants_version` in `pants.toml` and you may need to manually address some deprecations. See https://www.pantsbuild.org/2.24/docs/releases/upgrade-tips for upgrade tips.", "is_goal": true, "provider": "pants.core", "scope": "update-build-files" @@ -154743,7 +158721,7 @@ ], "env_var": "PANTS_YAMLLINT_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yamllint` version 1.32.0.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `yamllint` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yamllint` version 1.35.1.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `yamllint` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -154777,7 +158755,7 @@ ], "env_var": "PANTS_YAMLLINT_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -154809,7 +158787,7 @@ "comma_separated_display_args": "--yamllint-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -154840,7 +158818,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] @@ -155170,7 +159148,7 @@ ], "deprecated": [], "deprecated_scope": null, - "description": "A linter for YAML files (https://yamllint.readthedocs.io)\n\nThis version of Pants uses `yamllint` version 1.32.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", + "description": "A linter for YAML files (https://yamllint.readthedocs.io)\n\nThis version of Pants uses `yamllint` version 1.35.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this.", "is_goal": false, "provider": "pants.backend.experimental.tools.yamllint", "scope": "yamllint" @@ -155190,7 +159168,7 @@ ], "env_var": "PANTS_YAPF_INSTALL_FROM_RESOLVE", "fromfile": false, - "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yapf` version 0.40.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `yapf` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", + "help": "If specified, install the tool using the lockfile for this named resolve.\n\nThis resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools.\n\nThe resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements.\n\nIf unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yapf` version 0.40.2.\n\nIf unspecified, and the `lockfile` option is set, the tool will use the custom `yapf` \"tool lockfile\" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -155224,7 +159202,7 @@ ], "env_var": "PANTS_YAPF_REQUIREMENTS", "fromfile": false, - "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets).\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", + "help": "If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile.\n\nValues can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements.\n\nThe lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error.\n\nIf unspecified, install the entire lockfile.", "removal_hint": null, "removal_version": null, "scoped_cmd_line_args": [ @@ -155256,7 +159234,7 @@ "comma_separated_display_args": "--yapf-interpreter-constraints=\"['', '', ...]\"", "config_key": "interpreter_constraints", "default": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ], "deprecated_message": null, "deprecation_active": false, @@ -155287,7 +159265,7 @@ "details": "", "rank": "HARDCODED", "value": [ - "CPython>=3.7,<4" + "CPython>=3.8,<4" ] } ] diff --git a/docs/reference/subsystems/add-trailing-comma.mdx b/docs/reference/subsystems/add-trailing-comma.mdx index 471c95b47..32dfadc07 100644 --- a/docs/reference/subsystems/add-trailing-comma.mdx +++ b/docs/reference/subsystems/add-trailing-comma.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; The add-trailing-comma Python code formatter (https://github.com/asottile/add-trailing-comma). -This version of Pants uses `add-trailing-comma` version 2.4.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. +This version of Pants uses `add-trailing-comma` version 2.5.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. Backend: `pants.backend.experimental.python.lint.add_trailing_comma` @@ -95,11 +95,11 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. -If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `add-trailing-comma` version 2.4.0. +If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `add-trailing-comma` version 2.5.1. If unspecified, and the `lockfile` option is set, the tool will use the custom `add-trailing-comma` "tool lockfile" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated. @@ -116,7 +116,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -139,7 +139,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/anonymous-telemetry.mdx b/docs/reference/subsystems/anonymous-telemetry.mdx index 062d76011..e9c4d291b 100644 --- a/docs/reference/subsystems/anonymous-telemetry.mdx +++ b/docs/reference/subsystems/anonymous-telemetry.mdx @@ -37,7 +37,7 @@ Whether to send anonymous telemetry to the Pants project. Telemetry is sent asynchronously, with silent failure, and does not impact build times or outcomes. -See https://www.pantsbuild.org/2.23/docs/using-pants/anonymous-telemetry for details. +See https://www.pantsbuild.org/2.24/docs/using-pants/anonymous-telemetry for details. @@ -57,7 +57,7 @@ For private repos, you likely want the ID to not be derived from, or algorithmic For public repos the ID may be visible in that repo's config file, so anonymity of the repo is not guaranteed (although user anonymity is always guaranteed). -See https://www.pantsbuild.org/2.23/docs/using-pants/anonymous-telemetry for details. +See https://www.pantsbuild.org/2.24/docs/using-pants/anonymous-telemetry for details. diff --git a/docs/reference/subsystems/autoflake.mdx b/docs/reference/subsystems/autoflake.mdx index bdb3519aa..d51deb5a4 100644 --- a/docs/reference/subsystems/autoflake.mdx +++ b/docs/reference/subsystems/autoflake.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; The Autoflake Python code formatter (https://github.com/myint/autoflake). -This version of Pants uses `autoflake` version 2.1.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. +This version of Pants uses `autoflake` version 2.3.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. Backend: `pants.backend.python.lint.autoflake` @@ -95,11 +95,11 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. -If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `autoflake` version 2.1.1. +If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `autoflake` version 2.3.1. If unspecified, and the `lockfile` option is set, the tool will use the custom `autoflake` "tool lockfile" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated. @@ -116,7 +116,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -139,7 +139,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/bandit.mdx b/docs/reference/subsystems/bandit.mdx index 83c61ae02..8e4640895 100644 --- a/docs/reference/subsystems/bandit.mdx +++ b/docs/reference/subsystems/bandit.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; A tool for finding security issues in Python code (https://bandit.readthedocs.io). -This version of Pants uses `bandit` version 1.7.5 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. +This version of Pants uses `bandit` version 1.7.9 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. Backend: `pants.backend.python.lint.bandit` @@ -109,11 +109,11 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. -If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `bandit` version 1.7.5. +If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `bandit` version 1.7.9. If unspecified, and the `lockfile` option is set, the tool will use the custom `bandit` "tool lockfile" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated. @@ -135,7 +135,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/black.mdx b/docs/reference/subsystems/black.mdx index eb6c5e4b6..198cad163 100644 --- a/docs/reference/subsystems/black.mdx +++ b/docs/reference/subsystems/black.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; The Black Python code formatter (https://black.readthedocs.io/). -This version of Pants uses `black` version 23.3.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. +This version of Pants uses `black` version 23.12.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. Backend: `pants.backend.python.lint.black` @@ -127,11 +127,11 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. -If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `black` version 23.3.0. +If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `black` version 23.12.1. If unspecified, and the `lockfile` option is set, the tool will use the custom `black` "tool lockfile" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated. @@ -148,7 +148,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -171,7 +171,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/buf.mdx b/docs/reference/subsystems/buf.mdx index c615af31f..f82f6ed44 100644 --- a/docs/reference/subsystems/buf.mdx +++ b/docs/reference/subsystems/buf.mdx @@ -182,7 +182,7 @@ url_template = `} default_repr={`https://github.com/bufbuild/buf/releases/download/{version}/buf-{platform}.tar.gz`} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. diff --git a/docs/reference/subsystems/buildifier.mdx b/docs/reference/subsystems/buildifier.mdx index 231277561..c8cd25d9c 100644 --- a/docs/reference/subsystems/buildifier.mdx +++ b/docs/reference/subsystems/buildifier.mdx @@ -71,7 +71,7 @@ known_versions = [ '', ..., ]`} - default_repr={`[\n "5.1.0|macos_x86_64|c9378d9f4293fc38ec54a08fbc74e7a9d28914dae6891334401e59f38f6e65dc|7125968",\n "5.1.0|macos_arm64 |745feb5ea96cb6ff39a76b2821c57591fd70b528325562486d47b5d08900e2e4|7334498",\n "5.1.0|linux_x86_64|52bf6b102cb4f88464e197caac06d69793fa2b05f5ad50a7e7bf6fbd656648a3|7226100",\n "5.1.0|linux_arm64 |917d599dbb040e63ae7a7e1adb710d2057811902fdc9e35cce925ebfd966eeb8|7171938"\n]`} + default_repr={`[\n "7.1.2|macos_x86_64|687c49c318fb655970cf716eed3c7bfc9caeea4f2931a2fd36593c458de0c537|7591232",\n "7.1.2|macos_arm64 |d0909b645496608fd6dfc67f95d9d3b01d90736d7b8c8ec41e802cb0b7ceae7c|7528994",\n "7.1.2|linux_x86_64|28285fe7e39ed23dc1a3a525dfcdccbc96c0034ff1d4277905d2672a71b38f13|7702060",\n "7.1.2|linux_arm64 |c22a44eee37b8927167ee6ee67573303f4e31171e7ec3a8ea021a6a660040437|7568336"\n]`} > Known versions to verify downloads against. @@ -122,10 +122,10 @@ For example, if you define `{"macos_x86_64": "apple-darwin", "linux_x86_64": "un env_repr='PANTS_BUILDIFIER_URL_TEMPLATE' toml_repr={`[buildifier] url_template = `} - default_repr={`https://github.com/bazelbuild/buildtools/releases/download/{version}/buildifier-{platform}`} + default_repr={`https://github.com/bazelbuild/buildtools/releases/download/v{version}/buildifier-{platform}`} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. @@ -155,7 +155,7 @@ Supported Buildifier versions: unspecified env_repr='PANTS_BUILDIFIER_VERSION' toml_repr={`[buildifier] version = `} - default_repr={`5.1.0`} + default_repr={`7.1.2`} > Use this version of Buildifier. diff --git a/docs/reference/subsystems/cc-external.mdx b/docs/reference/subsystems/cc-external.mdx index 9b1b7e5aa..77b63a705 100644 --- a/docs/reference/subsystems/cc-external.mdx +++ b/docs/reference/subsystems/cc-external.mdx @@ -204,7 +204,7 @@ url_template = `} default_repr={``} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. diff --git a/docs/reference/subsystems/changed.mdx b/docs/reference/subsystems/changed.mdx index 37c8b6a13..d23326895 100644 --- a/docs/reference/subsystems/changed.mdx +++ b/docs/reference/subsystems/changed.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; Tell Pants to detect what files and targets have changed from Git. -See https://www.pantsbuild.org/2.23/docs/using-pants/advanced-target-selection. +See https://www.pantsbuild.org/2.24/docs/using-pants/advanced-target-selection. Backend: `` diff --git a/docs/reference/subsystems/clang-format.mdx b/docs/reference/subsystems/clang-format.mdx index b4ef67657..0ab28023d 100644 --- a/docs/reference/subsystems/clang-format.mdx +++ b/docs/reference/subsystems/clang-format.mdx @@ -95,7 +95,7 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. @@ -116,7 +116,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -139,7 +139,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/coursier.mdx b/docs/reference/subsystems/coursier.mdx index c3eda53f1..2dc24155a 100644 --- a/docs/reference/subsystems/coursier.mdx +++ b/docs/reference/subsystems/coursier.mdx @@ -126,7 +126,7 @@ url_template = `} default_repr={`https://github.com/coursier/coursier/releases/download/{version}/cs-{platform}.gz`} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. diff --git a/docs/reference/subsystems/coverage-py.mdx b/docs/reference/subsystems/coverage-py.mdx index e59fee2c9..ce8eaf27b 100644 --- a/docs/reference/subsystems/coverage-py.mdx +++ b/docs/reference/subsystems/coverage-py.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; Configuration for Python test coverage measurement. -This version of Pants uses `coverage` version 7.2.7 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. +This version of Pants uses `coverage` version 7.6.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. Backend: `pants.backend.python` @@ -174,11 +174,11 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. -If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `coverage` version 7.2.7. +If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `coverage` version 7.6.1. If unspecified, and the `lockfile` option is set, the tool will use the custom `coverage-py` "tool lockfile" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated. @@ -195,7 +195,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -232,7 +232,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/cue.mdx b/docs/reference/subsystems/cue.mdx index 43f3fdc94..cf434647f 100644 --- a/docs/reference/subsystems/cue.mdx +++ b/docs/reference/subsystems/cue.mdx @@ -120,7 +120,7 @@ url_template = `} default_repr={`https://github.com/cue-lang/cue/releases/download/{version}/cue_{version}_{platform}.tar.gz`} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. diff --git a/docs/reference/subsystems/debugpy.mdx b/docs/reference/subsystems/debugpy.mdx index 0e8efa8c8..6b3bd5ced 100644 --- a/docs/reference/subsystems/debugpy.mdx +++ b/docs/reference/subsystems/debugpy.mdx @@ -81,7 +81,7 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. @@ -102,7 +102,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -125,7 +125,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/docformatter.mdx b/docs/reference/subsystems/docformatter.mdx index 9396871d2..ec1b4fbcb 100644 --- a/docs/reference/subsystems/docformatter.mdx +++ b/docs/reference/subsystems/docformatter.mdx @@ -95,7 +95,7 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. @@ -116,7 +116,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -139,7 +139,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/docker.mdx b/docs/reference/subsystems/docker.mdx index 7a62569cf..0c30d5b97 100644 --- a/docs/reference/subsystems/docker.mdx +++ b/docs/reference/subsystems/docker.mdx @@ -318,6 +318,24 @@ The PATH value that will be used to find the Docker client and any tools require +### `optional_tools` + + + ### `tailor` diff --git a/docs/reference/subsystems/golang.mdx b/docs/reference/subsystems/golang.mdx index 57c6f2f27..f1c2e85f1 100644 --- a/docs/reference/subsystems/golang.mdx +++ b/docs/reference/subsystems/golang.mdx @@ -75,7 +75,7 @@ go_search_paths = [ target_field_name='golang_go_search_paths' > -A list of paths to search for Go. +A list of paths to search for Go and extra tools needed by go. Specify absolute paths to directories with the `go` binary, e.g. `/usr/bin`. Earlier entries will be searched first. @@ -273,6 +273,25 @@ Name of the tool to use as the "external linker" when invoking `go too +### `extra_tools` + + + ### `subprocess_env_vars` diff --git a/docs/reference/subsystems/nfpm.mdx b/docs/reference/subsystems/nfpm.mdx new file mode 100644 index 000000000..10bf5a1b1 --- /dev/null +++ b/docs/reference/subsystems/nfpm.mdx @@ -0,0 +1,159 @@ +--- +title: nfpm +description: | + The nFPM deb, rpm, apk, and archlinux packager (https://nfpm.goreleaser.com). +--- + +import Option from "@site/src/components/reference/Option"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +The nFPM deb, rpm, apk, and archlinux packager (https://nfpm.goreleaser.com). + +Backend: `pants.backend.experimental.nfpm` + +Config section: `[nfpm]` + + + +## Basic options + +### `default_mtime` + + + +## Advanced options + +### `known_versions` + + + +### `url_platform_mapping` + + + +### `url_template` + + + +### `use_unsupported_version` + + + +### `version` + + + +## Deprecated options + +None + +## Related subsystems + +None + + diff --git a/docs/reference/subsystems/nodejs.mdx b/docs/reference/subsystems/nodejs.mdx index eb28eaa1d..57fb3dd85 100644 --- a/docs/reference/subsystems/nodejs.mdx +++ b/docs/reference/subsystems/nodejs.mdx @@ -46,7 +46,7 @@ Specifying conflicting package manager versions within a multi-package workspace key1 = val1 key2 = val2 ...`} - default_repr={`{\n "npm": "10.8.1",\n "pnpm": "9.5.0",\n "yarn": "1.22.22"\n}`} + default_repr={`{\n "npm": "10.8.2",\n "pnpm": "9.5.0",\n "yarn": "1.22.22"\n}`} > A mapping of package manager versions to semver releases. @@ -112,7 +112,7 @@ known_versions = [ '', ..., ]`} - default_repr={`[\n "v20.15.1|macos_arm64|4743bc042f90ba5d9edf09403207290a9cdd2f6061bdccf7caaa0bbfd49f343e|41888895",\n "v20.15.1|macos_x86_64|f5379772ffae1404cfd1fcc8cf0c6c5971306b8fb2090d348019047306de39dc|43531593",\n "v20.15.1|linux_arm64|10d47a46ef208b3e4b226e4d595a82659123b22397ed77b7975d989114ec317e|24781292",\n "v20.15.1|linux_x86_64|26700f8d3e78112ad4a2618a9c8e2816e38a49ecf0213ece80e54c38cb02563f|25627852"\n]`} + default_repr={`[\n "v22.6.0|macos_arm64|9ea60766807cd3c3a3ad6ad419f98918d634a60fe8dea5b9c07507ed0f176d4c|47583427",\n "v22.6.0|macos_x86_64|8766c5968ca22d20fc6237c54c7c5d12ef12e15940d6119a79144ccb163ea737|49688634",\n "v22.6.0|linux_arm64|0053ee0426c4daaa65c44f2cef87be45135001c3145cfb840aa1d0e6f2619610|28097296",\n "v22.6.0|linux_x86_64|acbbe539edc33209bb3e1b25f7545b5ca5d70e6256ed8318e1ec1e41e7b35703|29240984"\n]`} > Known versions to verify downloads against. @@ -225,7 +225,7 @@ url_template = `} default_repr={`https://nodejs.org/dist/{version}/node-{version}-{platform}.tar`} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. @@ -238,7 +238,7 @@ Use `{version}` to have the value from `--version` substituted, and `{platform}` env_repr='PANTS_NODEJS_VERSION' toml_repr={`[nodejs] version = `} - default_repr={`v20.15.1`} + default_repr={`v22.6.0`} > Use this version of nodejs. diff --git a/docs/reference/subsystems/openapi-generator.mdx b/docs/reference/subsystems/openapi-generator.mdx index 41c78cae1..28922352c 100644 --- a/docs/reference/subsystems/openapi-generator.mdx +++ b/docs/reference/subsystems/openapi-generator.mdx @@ -73,7 +73,7 @@ lockfile = `} Path to a lockfile used for installing the tool. -Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/openapi/subsystems/openapi_generator.default.lockfile.txt for the default lockfile contents. +Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/openapi/subsystems/openapi_generator.default.lockfile.txt for the default lockfile contents. To use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=openapi-generator`. diff --git a/docs/reference/subsystems/pex-binary-defaults.mdx b/docs/reference/subsystems/pex-binary-defaults.mdx index 492e1e12c..ce1c8f5f5 100644 --- a/docs/reference/subsystems/pex-binary-defaults.mdx +++ b/docs/reference/subsystems/pex-binary-defaults.mdx @@ -41,21 +41,7 @@ Can be overridden by specifying the `emit_warnings` parameter of individual `pex ## Deprecated options -### `resolve_local_platforms` - - +None ## Related subsystems diff --git a/docs/reference/subsystems/pex-cli.mdx b/docs/reference/subsystems/pex-cli.mdx index 2dc7007d7..8b3adf4fd 100644 --- a/docs/reference/subsystems/pex-cli.mdx +++ b/docs/reference/subsystems/pex-cli.mdx @@ -19,7 +19,25 @@ Config section: `[pex-cli]` ## Basic options -None +### `global_args` + + ## Advanced options @@ -34,7 +52,7 @@ known_versions = [ '', ..., ]`} - default_repr={`[\n "v2.11.0|macos_arm64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790",\n "v2.11.0|macos_x86_64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790",\n "v2.11.0|linux_x86_64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790",\n "v2.11.0|linux_arm64|554a3ad5d1662d93d06a7e65bf5444589d1956752df39e2665a4d54e1e05c949|4181790"\n]`} + default_repr={`[\n "v2.16.2|macos_arm64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448",\n "v2.16.2|macos_x86_64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448",\n "v2.16.2|linux_x86_64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448",\n "v2.16.2|linux_arm64|f2ec29dda754c71a8b662e3b4a9071aef269a9991ae920666567669472dcd556|4284448"\n]`} > Known versions to verify downloads against. @@ -88,7 +106,7 @@ url_template = `} default_repr={`https://github.com/pex-tool/pex/releases/download/{version}/pex`} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. @@ -107,7 +125,7 @@ use_unsupported_version = `} What action to take in case the requested version of pex is not supported. -Supported pex versions: >=2.3.0,<3.0 +Supported pex versions: >=2.13.0,<3.0 @@ -118,12 +136,12 @@ Supported pex versions: >=2.3.0,<3.0 env_repr='PANTS_PEX_CLI_VERSION' toml_repr={`[pex-cli] version = `} - default_repr={`v2.11.0`} + default_repr={`v2.16.2`} > Use this version of pex. -Supported pex versions: >=2.3.0,<3.0 +Supported pex versions: >=2.13.0,<3.0 diff --git a/docs/reference/subsystems/protobuf-java-grpc.mdx b/docs/reference/subsystems/protobuf-java-grpc.mdx index 21af040d0..0207a0192 100644 --- a/docs/reference/subsystems/protobuf-java-grpc.mdx +++ b/docs/reference/subsystems/protobuf-java-grpc.mdx @@ -73,7 +73,7 @@ lockfile = `} Path to a lockfile used for installing the tool. -Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/codegen/protobuf/java/grpc-java.default.lockfile.txt for the default lockfile contents. +Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/codegen/protobuf/java/grpc-java.default.lockfile.txt for the default lockfile contents. To use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=protobuf-java-grpc`. diff --git a/docs/reference/subsystems/protoc.mdx b/docs/reference/subsystems/protoc.mdx index 52ed7fc76..53fc5a75c 100644 --- a/docs/reference/subsystems/protoc.mdx +++ b/docs/reference/subsystems/protoc.mdx @@ -114,7 +114,7 @@ url_template = `} default_repr={`https://github.com/protocolbuffers/protobuf/releases/download/v{version}/protoc-{version}-{platform}.zip`} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. diff --git a/docs/reference/subsystems/pydocstyle.mdx b/docs/reference/subsystems/pydocstyle.mdx index 86cbdeede..11578a59d 100644 --- a/docs/reference/subsystems/pydocstyle.mdx +++ b/docs/reference/subsystems/pydocstyle.mdx @@ -127,7 +127,7 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. @@ -148,7 +148,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -171,7 +171,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/pyenv-python-provider.mdx b/docs/reference/subsystems/pyenv-python-provider.mdx index be0cba30c..61694a625 100644 --- a/docs/reference/subsystems/pyenv-python-provider.mdx +++ b/docs/reference/subsystems/pyenv-python-provider.mdx @@ -121,7 +121,7 @@ url_template = `} default_repr={`https://github.com/pyenv/pyenv/archive/refs/tags/v{version}.tar.gz`} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. diff --git a/docs/reference/subsystems/pylint.mdx b/docs/reference/subsystems/pylint.mdx index f06c170a0..d64f4bd2c 100644 --- a/docs/reference/subsystems/pylint.mdx +++ b/docs/reference/subsystems/pylint.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; The Pylint linter for Python code (https://www.pylint.org/). -This version of Pants uses `pylint` version 2.13.9 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. +This version of Pants uses `pylint` version 2.17.7 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. Backend: `pants.backend.python.lint.pylint` @@ -127,11 +127,11 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. -If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pylint` version 2.13.9. +If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pylint` version 2.17.7. If unspecified, and the `lockfile` option is set, the tool will use the custom `pylint` "tool lockfile" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated. @@ -153,7 +153,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. @@ -177,13 +177,13 @@ source_plugins = [ An optional list of `python_sources` target addresses to load first-party plugins. -You must set the plugin's parent directory as a source root. For example, if your plugin is at `build-support/pylint/custom_plugin.py`, add `'build-support/pylint'` to `[source].root_patterns` in `pants.toml`. This is necessary for Pants to know how to tell Pylint to discover your plugin. See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/source-roots +You must set the plugin's parent directory as a source root. For example, if your plugin is at `build-support/pylint/custom_plugin.py`, add `'build-support/pylint'` to `[source].root_patterns` in `pants.toml`. This is necessary for Pants to know how to tell Pylint to discover your plugin. See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/source-roots You must also set `load-plugins=$module_name` in your Pylint config file. While your plugin's code can depend on other first-party code and third-party requirements, all first-party dependencies of the plugin must live in the same directory or a subdirectory. -To instead load third-party plugins, add them to a custom resolve alongside pylint itself, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +To instead load third-party plugins, add them to a custom resolve alongside pylint itself, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. diff --git a/docs/reference/subsystems/pyoxidizer.mdx b/docs/reference/subsystems/pyoxidizer.mdx index 6431a2758..44dce235e 100644 --- a/docs/reference/subsystems/pyoxidizer.mdx +++ b/docs/reference/subsystems/pyoxidizer.mdx @@ -83,7 +83,7 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. @@ -127,7 +127,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/pyright.mdx b/docs/reference/subsystems/pyright.mdx index 1a25ffca6..b27e5c971 100644 --- a/docs/reference/subsystems/pyright.mdx +++ b/docs/reference/subsystems/pyright.mdx @@ -80,7 +80,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for Pyright (which is, itself, a NodeJS tool). diff --git a/docs/reference/subsystems/pytest.mdx b/docs/reference/subsystems/pytest.mdx index 4b1af7ae7..538b32640 100644 --- a/docs/reference/subsystems/pytest.mdx +++ b/docs/reference/subsystems/pytest.mdx @@ -155,7 +155,7 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. @@ -195,7 +195,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/python-grpclib-protobuf.mdx b/docs/reference/subsystems/python-grpclib-protobuf.mdx index edcb510d5..4f7e0d3b9 100644 --- a/docs/reference/subsystems/python-grpclib-protobuf.mdx +++ b/docs/reference/subsystems/python-grpclib-protobuf.mdx @@ -37,7 +37,7 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. @@ -58,7 +58,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -81,7 +81,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/python-protobuf.mdx b/docs/reference/subsystems/python-protobuf.mdx index 826298f40..dd2e34564 100644 --- a/docs/reference/subsystems/python-protobuf.mdx +++ b/docs/reference/subsystems/python-protobuf.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; Options related to the Protobuf Python backend. -See https://www.pantsbuild.org/2.23/docs/python/integrations/protobuf-and-grpc. +See https://www.pantsbuild.org/2.24/docs/python/integrations/protobuf-and-grpc. Backend: `pants.backend.codegen.protobuf.python` diff --git a/docs/reference/subsystems/python-repos.mdx b/docs/reference/subsystems/python-repos.mdx index 1f3adeedc..1751d4cb2 100644 --- a/docs/reference/subsystems/python-repos.mdx +++ b/docs/reference/subsystems/python-repos.mdx @@ -83,9 +83,9 @@ Mappings to facilitate using local Python requirements when the absolute file pa Expects values in the form `NAME|PATH`, e.g. `WHEELS_DIR|/Users/pantsbuild/prebuilt_wheels`. You can specify multiple entries in the list. -This feature is intended to be used with `[python-repos].find_links`, rather than PEP 440 direct reference requirements (see https://www.pantsbuild.org/2.23/docs/python/overview/third-party-dependencies#local-requirements. `[python-repos].find_links` must be configured to a valid absolute path for the current machine. +This feature is intended to be used with `[python-repos].find_links`, rather than PEP 440 direct reference requirements (see https://www.pantsbuild.org/2.24/docs/python/overview/third-party-dependencies#local-requirements. `[python-repos].find_links` must be configured to a valid absolute path for the current machine. -Tip: you can avoid each user needing to manually configure this option and `[python-repos].find_links` by using a common file location, along with Pants's interpolation support (https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-interpolation. For example, in `pants.toml`, you could set both options to `%(buildroot)s/python_wheels` to point to the directory `python_wheels` in the root of your repository; or, use the path `%(env.HOME)s/pants_wheels` for the path `~/pants_wheels`. If you are not able to use a common path like this, then we recommend setting that each user set these options via a `.pants.rc` file (https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#pantsrc-file. +Tip: you can avoid each user needing to manually configure this option and `[python-repos].find_links` by using a common file location, along with Pants's interpolation support (https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-interpolation. For example, in `pants.toml`, you could set both options to `%(buildroot)s/python_wheels` to point to the directory `python_wheels` in the root of your repository; or, use the path `%(env.HOME)s/pants_wheels` for the path `~/pants_wheels`. If you are not able to use a common path like this, then we recommend setting that each user set these options via a `.pants.rc` file (https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#pantsrc-file. Note: Only takes effect if using Pex lockfiles, i.e. using the `generate-lockfiles` goal. diff --git a/docs/reference/subsystems/python.mdx b/docs/reference/subsystems/python.mdx index 7c2f77ba7..d0559fe40 100644 --- a/docs/reference/subsystems/python.mdx +++ b/docs/reference/subsystems/python.mdx @@ -33,6 +33,28 @@ The default value used for the `run_goal_use_sandbox` field of Python targets. S +### `interpreter_constraints` + + + ### `repl_history` - ### `interpreter_versions_universe` +### `warn_on_python2_usage` + + + ## Deprecated options ### `requirement_constraints` diff --git a/docs/reference/subsystems/pytype.mdx b/docs/reference/subsystems/pytype.mdx index 699800672..5cfceface 100644 --- a/docs/reference/subsystems/pytype.mdx +++ b/docs/reference/subsystems/pytype.mdx @@ -109,7 +109,7 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. @@ -130,7 +130,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<3.11"\n]`} + default_repr={`[\n "CPython>=3.8,<3.11"\n]`} > Python interpreter constraints for this tool. @@ -153,7 +153,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/pyupgrade.mdx b/docs/reference/subsystems/pyupgrade.mdx index 6e2b27e55..1ef457051 100644 --- a/docs/reference/subsystems/pyupgrade.mdx +++ b/docs/reference/subsystems/pyupgrade.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; Upgrade syntax for newer versions of the language (https://github.com/asottile/pyupgrade). -This version of Pants uses `pyupgrade` version 3.3.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. +This version of Pants uses `pyupgrade` version 3.8.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. Backend: `pants.backend.python.lint.pyupgrade` @@ -95,11 +95,11 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. -If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pyupgrade` version 3.3.2. +If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `pyupgrade` version 3.8.0. If unspecified, and the `lockfile` option is set, the tool will use the custom `pyupgrade` "tool lockfile" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated. @@ -116,7 +116,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -139,7 +139,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/ruff.mdx b/docs/reference/subsystems/ruff.mdx index e8258faf1..bb80b2993 100644 --- a/docs/reference/subsystems/ruff.mdx +++ b/docs/reference/subsystems/ruff.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; The Ruff Python formatter (https://github.com/astral-sh/ruff). -This version of Pants uses `ruff` version 0.4.9 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. +This version of Pants uses `ruff` version 0.6.4 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. Backend: `pants.backend.experimental.python.lint.ruff.check` @@ -127,11 +127,11 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. -If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `ruff` version 0.4.9. +If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `ruff` version 0.6.4. If unspecified, and the `lockfile` option is set, the tool will use the custom `ruff` "tool lockfile" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated. @@ -148,7 +148,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -171,7 +171,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/scala-parser.mdx b/docs/reference/subsystems/scala-parser.mdx index 219a742ab..b3e1053e8 100644 --- a/docs/reference/subsystems/scala-parser.mdx +++ b/docs/reference/subsystems/scala-parser.mdx @@ -73,7 +73,7 @@ lockfile = `} Path to a lockfile used for installing the tool. -Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/scala/dependency_inference/scala_parser.lock for the default lockfile contents. +Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/scala/dependency_inference/scala_parser.lock for the default lockfile contents. To use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scala-parser`. diff --git a/docs/reference/subsystems/scalafix.mdx b/docs/reference/subsystems/scalafix.mdx index 7c1554b1d..854f21ae2 100644 --- a/docs/reference/subsystems/scalafix.mdx +++ b/docs/reference/subsystems/scalafix.mdx @@ -99,7 +99,7 @@ lockfile = `} Path to a lockfile used for installing the tool. -Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/scala/lint/scalafix/scalafix.default.lockfile.txt for the default lockfile contents. +Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/scala/lint/scalafix/scalafix.default.lockfile.txt for the default lockfile contents. To use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalafix`. diff --git a/docs/reference/subsystems/scalafmt.mdx b/docs/reference/subsystems/scalafmt.mdx index 98722595c..6cd5816f0 100644 --- a/docs/reference/subsystems/scalafmt.mdx +++ b/docs/reference/subsystems/scalafmt.mdx @@ -99,7 +99,7 @@ lockfile = `} Path to a lockfile used for installing the tool. -Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/scala/lint/scalafmt/scalafmt.default.lockfile.txt for the default lockfile contents. +Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/scala/lint/scalafmt/scalafmt.default.lockfile.txt for the default lockfile contents. To use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalafmt`. diff --git a/docs/reference/subsystems/scalapb.mdx b/docs/reference/subsystems/scalapb.mdx index eadf09987..426b5b475 100644 --- a/docs/reference/subsystems/scalapb.mdx +++ b/docs/reference/subsystems/scalapb.mdx @@ -91,7 +91,7 @@ lockfile = `} Path to a lockfile used for installing the tool. -Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/codegen/protobuf/scala/scalapbc.default.lockfile.txt for the default lockfile contents. +Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/codegen/protobuf/scala/scalapbc.default.lockfile.txt for the default lockfile contents. To use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalapb`. diff --git a/docs/reference/subsystems/scalatest.mdx b/docs/reference/subsystems/scalatest.mdx index 44bbadd2e..1b2fb1490 100644 --- a/docs/reference/subsystems/scalatest.mdx +++ b/docs/reference/subsystems/scalatest.mdx @@ -105,7 +105,7 @@ lockfile = `} Path to a lockfile used for installing the tool. -Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/scala/subsystems/scalatest.default.lockfile.txt for the default lockfile contents. +Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/scala/subsystems/scalatest.default.lockfile.txt for the default lockfile contents. To use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scalatest`. diff --git a/docs/reference/subsystems/scc.mdx b/docs/reference/subsystems/scc.mdx index bf8631f07..43781e2b3 100644 --- a/docs/reference/subsystems/scc.mdx +++ b/docs/reference/subsystems/scc.mdx @@ -106,7 +106,7 @@ url_template = `} default_repr={`https://github.com/boyter/scc/releases/download/v{version}/scc-{version}-{platform}.zip`} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. diff --git a/docs/reference/subsystems/scrooge.mdx b/docs/reference/subsystems/scrooge.mdx index 34ff8aced..bbfd9174b 100644 --- a/docs/reference/subsystems/scrooge.mdx +++ b/docs/reference/subsystems/scrooge.mdx @@ -73,7 +73,7 @@ lockfile = `} Path to a lockfile used for installing the tool. -Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/codegen/thrift/scrooge/scrooge.default.lockfile.txt for the default lockfile contents. +Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/codegen/thrift/scrooge/scrooge.default.lockfile.txt for the default lockfile contents. To use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=scrooge`. diff --git a/docs/reference/subsystems/semgrep.mdx b/docs/reference/subsystems/semgrep.mdx index 977ce552c..300c8e5bc 100644 --- a/docs/reference/subsystems/semgrep.mdx +++ b/docs/reference/subsystems/semgrep.mdx @@ -13,7 +13,7 @@ Lightweight static analysis for many languages. Find bug variants with patterns Pants automatically finds config files (`.semgrep.yml`, `.semgrep.yaml`, and `.yml` or `.yaml` files within `.semgrep/` directories), and runs semgrep against all _targets_ known to Pants. -This version of Pants uses `semgrep` version 1.72.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. +This version of Pants uses `semgrep` version 1.86.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. Backend: `pants.backend.experimental.tools.semgrep` @@ -129,11 +129,11 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. -If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `semgrep` version 1.72.0. +If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `semgrep` version 1.86.0. If unspecified, and the `lockfile` option is set, the tool will use the custom `semgrep` "tool lockfile" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated. @@ -173,7 +173,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/setuptools-scm.mdx b/docs/reference/subsystems/setuptools-scm.mdx index 8fd7ee6bb..c369be156 100644 --- a/docs/reference/subsystems/setuptools-scm.mdx +++ b/docs/reference/subsystems/setuptools-scm.mdx @@ -65,7 +65,7 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. @@ -86,7 +86,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -109,7 +109,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/setuptools.mdx b/docs/reference/subsystems/setuptools.mdx index 2a51804bd..b345a3709 100644 --- a/docs/reference/subsystems/setuptools.mdx +++ b/docs/reference/subsystems/setuptools.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; Python setuptools, used to package `python_distribution` targets. -This version of Pants uses `setuptools` version 63.4.3 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. +This version of Pants uses `setuptools` version 74.1.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. Backend: `pants.backend.python` @@ -37,11 +37,11 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. -If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `setuptools` version 63.4.3. +If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `setuptools` version 74.1.2. If unspecified, and the `lockfile` option is set, the tool will use the custom `setuptools` "tool lockfile" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated. @@ -63,7 +63,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/shellcheck.mdx b/docs/reference/subsystems/shellcheck.mdx index 9496bb171..b398345a4 100644 --- a/docs/reference/subsystems/shellcheck.mdx +++ b/docs/reference/subsystems/shellcheck.mdx @@ -132,7 +132,7 @@ url_template = `} default_repr={`https://github.com/koalaman/shellcheck/releases/download/{version}/shellcheck-{version}.{platform}.tar.xz`} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. diff --git a/docs/reference/subsystems/shfmt.mdx b/docs/reference/subsystems/shfmt.mdx index 62ce39d55..f2eae2c5e 100644 --- a/docs/reference/subsystems/shfmt.mdx +++ b/docs/reference/subsystems/shfmt.mdx @@ -132,7 +132,7 @@ url_template = `} default_repr={`https://github.com/mvdan/sh/releases/download/{version}/shfmt_{version}_{platform}`} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. diff --git a/docs/reference/subsystems/shunit2.mdx b/docs/reference/subsystems/shunit2.mdx index 7b75e81c9..e43f36392 100644 --- a/docs/reference/subsystems/shunit2.mdx +++ b/docs/reference/subsystems/shunit2.mdx @@ -100,7 +100,7 @@ url_template = `} default_repr={`https://raw.githubusercontent.com/kward/shunit2/{version}/shunit2`} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. diff --git a/docs/reference/subsystems/source.mdx b/docs/reference/subsystems/source.mdx index fe2337ce7..46947fbda 100644 --- a/docs/reference/subsystems/source.mdx +++ b/docs/reference/subsystems/source.mdx @@ -69,7 +69,7 @@ A `*` wildcard will match a single path segment, E.g., `src/*` will match ` diff --git a/docs/reference/subsystems/sqlfluff.mdx b/docs/reference/subsystems/sqlfluff.mdx index 5e8d2708b..9642bdb74 100644 --- a/docs/reference/subsystems/sqlfluff.mdx +++ b/docs/reference/subsystems/sqlfluff.mdx @@ -145,7 +145,7 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. @@ -166,7 +166,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -189,7 +189,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/strip-jar.mdx b/docs/reference/subsystems/strip-jar.mdx index 998bf4a63..97c44dc59 100644 --- a/docs/reference/subsystems/strip-jar.mdx +++ b/docs/reference/subsystems/strip-jar.mdx @@ -73,7 +73,7 @@ lockfile = `} Path to a lockfile used for installing the tool. -Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/jvm/strip_jar/strip_jar.lock for the default lockfile contents. +Set to the string `` to use a lockfile provided by Pants, so long as you have not changed the `--version` option. See https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/jvm/strip_jar/strip_jar.lock for the default lockfile contents. To use a custom lockfile, set this option to a file path relative to the build root, then run `pants jvm-generate-lockfiles --resolve=strip-jar`. diff --git a/docs/reference/subsystems/subprocess-environment.mdx b/docs/reference/subsystems/subprocess-environment.mdx index 41f22d6ec..d8de135ce 100644 --- a/docs/reference/subsystems/subprocess-environment.mdx +++ b/docs/reference/subsystems/subprocess-environment.mdx @@ -42,7 +42,7 @@ Environment variables to set for process invocations. Entries are either strings in the form `ENV_VAR=value` to set an explicit value; or just `ENV_VAR` to copy the value from Pants's own environment. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#addremove-semantics for how to add and remove Pants's default for this option. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#addremove-semantics for how to add and remove Pants's default for this option. diff --git a/docs/reference/subsystems/taplo.mdx b/docs/reference/subsystems/taplo.mdx index d51116ed8..130fd5b6f 100644 --- a/docs/reference/subsystems/taplo.mdx +++ b/docs/reference/subsystems/taplo.mdx @@ -158,7 +158,7 @@ url_template = `} default_repr={`https://github.com/tamasfe/taplo/releases/download/{version}/taplo-{platform}.gz`} > -URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options#config-file-entries)). +URL to download the tool, either as a single binary file or a compressed file (e.g. zip file). You can change this to point to your own hosted file, e.g. to work with proxies or for access via the filesystem through a `file:$abspath` URL (e.g. `file:/this/is/absolute`, possibly by [templating the buildroot in a config file](https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options#config-file-entries)). Use `{version}` to have the value from `--version` substituted, and `{platform}` to have a value from `--url-platform-mapping` substituted in, depending on the current platform. For example, https://github.com/.../protoc-{version}-{platform}.zip. diff --git a/docs/reference/subsystems/terraform-hcl2-parser.mdx b/docs/reference/subsystems/terraform-hcl2-parser.mdx index 579ca6fe3..b2756cf8c 100644 --- a/docs/reference/subsystems/terraform-hcl2-parser.mdx +++ b/docs/reference/subsystems/terraform-hcl2-parser.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; Used to parse Terraform modules to infer their dependencies. -This version of Pants uses `python-hcl2` version 4.3.2 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. +This version of Pants uses `python-hcl2` version 4.3.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. Backend: `pants.backend.experimental.terraform` @@ -37,11 +37,11 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. -If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `python-hcl2` version 4.3.2. +If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `python-hcl2` version 4.3.0. If unspecified, and the `lockfile` option is set, the tool will use the custom `terraform-hcl2-parser` "tool lockfile" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated. @@ -58,7 +58,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -81,7 +81,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/twine.mdx b/docs/reference/subsystems/twine.mdx index c2c300a36..c0adfc2b2 100644 --- a/docs/reference/subsystems/twine.mdx +++ b/docs/reference/subsystems/twine.mdx @@ -71,7 +71,7 @@ Uses the value from `[GLOBAL].ca_certs_path` by default. Set to `""` to no Even when using the `docker_environment` and `remote_environment` targets, this path will be read from the local host, and those certs will be used in the environment. -This option cannot be overridden via environment targets, so if you need a different value than what the rest of your organization is using, override the value via an environment variable, CLI argument, or `.pants.rc` file. See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/options. +This option cannot be overridden via environment targets, so if you need a different value than what the rest of your organization is using, override the value via an environment variable, CLI argument, or `.pants.rc` file. See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/options. @@ -147,7 +147,7 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. @@ -168,7 +168,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -191,7 +191,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/yamllint.mdx b/docs/reference/subsystems/yamllint.mdx index 4176e20a9..e8d1e4a8b 100644 --- a/docs/reference/subsystems/yamllint.mdx +++ b/docs/reference/subsystems/yamllint.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; A linter for YAML files (https://yamllint.readthedocs.io) -This version of Pants uses `yamllint` version 1.32.0 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. +This version of Pants uses `yamllint` version 1.35.1 by default. Use a dedicated lockfile and the `install_from_resolve` option to control this. Backend: `pants.backend.experimental.tools.yamllint` @@ -145,11 +145,11 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. -If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yamllint` version 1.32.0. +If unspecified, and the `lockfile` option is unset, the tool will be installed using the default lockfile shipped with Pants, which uses `yamllint` version 1.35.1. If unspecified, and the `lockfile` option is set, the tool will use the custom `yamllint` "tool lockfile" generated from the `version` and `extra_requirements` options. But note that this mechanism is deprecated. @@ -166,7 +166,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -204,7 +204,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/subsystems/yapf.mdx b/docs/reference/subsystems/yapf.mdx index 0bb34db12..3681f6b0a 100644 --- a/docs/reference/subsystems/yapf.mdx +++ b/docs/reference/subsystems/yapf.mdx @@ -129,7 +129,7 @@ install_from_resolve = `} If specified, install the tool using the lockfile for this named resolve. -This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.23/docs/python/overview/lockfiles#lockfiles-for-tools. +This resolve must be defined in `[python].resolves`, as described in https://www.pantsbuild.org/2.24/docs/python/overview/lockfiles#lockfiles-for-tools. The resolve's entire lockfile will be installed, unless specific requirements are listed via the `requirements` option, in which case only those requirements will be installed. This is useful if you don't want to invalidate the tool's outputs when the resolve incurs changes to unrelated requirements. @@ -150,7 +150,7 @@ interpreter_constraints = [ '', ..., ]`} - default_repr={`[\n "CPython>=3.7,<4"\n]`} + default_repr={`[\n "CPython>=3.8,<4"\n]`} > Python interpreter constraints for this tool. @@ -173,7 +173,7 @@ requirements = [ If `install_from_resolve` is specified, install these requirements, at the versions provided by the specified resolve's lockfile. -Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). +Values can be pip-style requirements (e.g., `tool` or `tool==1.2.3` or `tool>=1.2.3`), or addresses of `python_requirement` targets (or targets that generate or depend on `python_requirement` targets). Make sure to use the `//` prefix to refer to targets using their full address from the root (e.g. `//3rdparty/python:tool`). This is necessary to distinguish address specs from local or VCS requirements. The lockfile will be validated against the requirements - if a lockfile doesn't provide the requirement (at a suitable version, if the requirement specifies version constraints) Pants will error. diff --git a/docs/reference/targets/adhoc_tool.mdx b/docs/reference/targets/adhoc_tool.mdx index c0bca4dce..05b2874fd 100644 --- a/docs/reference/targets/adhoc_tool.mdx +++ b/docs/reference/targets/adhoc_tool.mdx @@ -52,6 +52,28 @@ Extra arguments to pass into the `runnable` field. +## `cache_scope` + + + +Set the "cache scope" of the executed process to provided value. The cache scope determines for how long Pants will cache the result of the process execution (assuming no changes to files or dependencies invalidate the result in the meantime). + +The valid values are: + +- `from_environment`: Use the default cache scope for the applicable environment in which the process will execute. This is `success` for all environments except for `experimental_workspace_environment`, in which case `session` cache scope will be used. + +- `success`: Cache successful executions of the process. + +- `success_per_pantsd_restart`: Cache successful executions of the process for the life of the + applicable pantsd process. + +- `session`: Only cache the result for a single Pants session. This will usually be a single invocation of the `pants` tool. + + + ## `description` +## `outputs_match_mode` + + + +Configure whether all, or some, of the values in the `output_files` and `output_directories` fields must actually match the outputs generated by the invoked process. These values are called "globs". Outputs may be matched by more than one glob. + +Valid values are: + +- `all_warn`: Log a warning if any glob fails to match an output. (In other words, all globs must match to avoid a warning.) This is the default value. + +- `all`: Ensure all globs match an output or else raise an error. + +- `at_least_one_warn`: Log a warning if none of the globs match an output. + +- `at_least_one`: Ensure at least one glob matches an output or else raise an error. + +- `allow_empty`: Allow empty digests (which means nothing was captured). This disables checking that globs match outputs. + + + ## `path_env_modify` `pants.backend.experimental.debian` diff --git a/docs/reference/targets/deploy_jar.mdx b/docs/reference/targets/deploy_jar.mdx index 9171a4858..cddc50b0f 100644 --- a/docs/reference/targets/deploy_jar.mdx +++ b/docs/reference/targets/deploy_jar.mdx @@ -40,7 +40,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/docker_environment.mdx b/docs/reference/targets/docker_environment.mdx index 3f2c3c4ee..a9a3c5ef7 100644 --- a/docs/reference/targets/docker_environment.mdx +++ b/docs/reference/targets/docker_environment.mdx @@ -223,6 +223,18 @@ Overrides the default value from the option `[golang].external_linker_binary_nam +## `golang_extra_tools` + + + +Overrides the default value from the option `[golang].extra_tools` when this environment target is active. + + + ## `golang_go_search_paths` +## `nfpm_default_mtime` + + + +Overrides the default value from the option `[nfpm].default_mtime` when this environment target is active. + + + ## `nodejs_corepack_env_vars` diff --git a/docs/reference/targets/experimental_workspace_environment.mdx b/docs/reference/targets/experimental_workspace_environment.mdx index d1732669b..3bf5b87d9 100644 --- a/docs/reference/targets/experimental_workspace_environment.mdx +++ b/docs/reference/targets/experimental_workspace_environment.mdx @@ -215,6 +215,18 @@ Overrides the default value from the option `[golang].external_linker_binary_nam +## `golang_extra_tools` + + + +Overrides the default value from the option `[golang].extra_tools` when this environment target is active. + + + ## `golang_go_search_paths` +## `nfpm_default_mtime` + + + +Overrides the default value from the option `[nfpm].default_mtime` when this environment target is active. + + + ## `nodejs_corepack_env_vars` +## `golang_extra_tools` + + + +Overrides the default value from the option `[golang].extra_tools` when this environment target is active. + + + ## `golang_go_search_paths` +## `nfpm_default_mtime` + + + +Overrides the default value from the option `[nfpm].default_mtime` when this environment target is active. + + + ## `nodejs_corepack_env_vars` `pants.backend.experimental.nfpm` + +--- + + + +## `package_name` + + + +The package name. + + + +## `version` + + + +The package version (preferably following semver). + +If 'version_schema' is not 'semver', then this should not be prefixed with a 'v' because some package managers, like deb, require the version start with a digit. + +See the 'version_schema' field's help for more details about how this field gets parsed by nFPM when it is 'semver'. + + + +## `arch` + + + +The package architecture. + +This should be a valid GOARCH value (or GOARCH+GOARM) that nFPM can convert into the package-specific equivalent. Otherwise, pants tells nFPM to use this value as-is. + +nFPM conversion from GOARCH to package-specific value is documented here: https://nfpm.goreleaser.com/goarch-to-pkg/ + +Use one of these values unless you need nFPM to use your value as-is: '386', 'all', 'amd64', 'arm5', 'arm6', 'arm7', 'arm64', 'loong64', 'mips', 'mipsle', 'mips64', 'mips64le', 'ppc64', 'ppc64le', 'riscv64', 's390', 's390x', 'sparc64', 'wasm' + + + +## `dependencies` + + + +Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`. + +This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. + +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. + +If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. + +You may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file. + + + +## `depends` + + + +List of package dependencies or conflicts (for package installers). + +To specify a conflicting dependency (a package that cannot be installed at the same time), prefix the entry with a `!`. + +This field is named "depends" because that is the term used by nFPM. Alpine linux uses both "depends" and "depend", which are used in APKBUILD and PKGINFO files respectively. The `abuild` tool uses the APKBUILD "depends" var--and other build-time introspection--to generate the PKGINFO "depend" var that ends up in the final apk package. + +The Alpine documentation says not to include shared-object dependencies in the APKBUILD "depends" var, but that warning does not apply to this field. Even though this field is named "depends", nFPM uses it to build the PKGINFO "depend" var, so you SHOULD include any shared-object dependencies in this list. + +The 'depends' field takes a variety of different formats. You can depend on packages, absolute paths, shared objects, pkg-configs, and possibly other things. Sadly, that format is not very well documented, so you may have to open other packages to find examples of how to use pkg-config deps (which have a `pc:` prefix), and any other less common syntax. Here are some examples extracted a variety of random packages: + +Example package dependencies (which do not have a prefix): + +- "git" - "git=2.40.1-r0" + +Example absolute path dependencies (which start with `/`): + +- "/bin/sh" + +Example shared object dependencies (which have a `so:` prefix): + +- "so:libc.musl-x86_64.so.1" - "so:libcurl.so.4" - "so:libpcre2-8.so.0" - "so:libz.so.1" + +WARNING: This is NOT the same as the 'dependencies' field! It does not accept pants-style dependencies like target addresses. + +See: https://wiki.alpinelinux.org/wiki/Apk_spec#PKGINFO_Format + +See also the related (but different!) "depends" var in APKBUILD: https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#depends https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#depends_&_makedepends + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `homepage` + + + +The URL of this package's homepage like "https://example.com". + +This field is named "homepage" instead of "url" because that is the term used by nFPM, which adopted the term from deb packaging. The term "url" is used by apk, archlinux, and rpm packaging. + + + +## `license` + + + +The license of this package. + +Where possible, please try to use the SPDX license identifiers (for example "Apache-2.0", "BSD-3-Clause", "GPL-3.0-or-later", or "MIT"): https://spdx.org/licenses/ + +For more complex cases, where the package includes software with multiple licenses, consider using an SPDX license expression: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/ + +See also these rpm-specific descriptions of how to set this field (this is helpful info even if you are not using rpm): https://docs.fedoraproject.org/en-US/legal/license-field/ + +nFPM does not yet generate the debian/copyright file, so this field is technically unused for now. Even for deb, we recommend using this field to document the software license for this package. See also these pages about specifying a license for deb packaging: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification https://wiki.debian.org/Proposals/CopyrightFormat#Differences_between_DEP5_and_SPDX + + + +## `maintainer` + + + +The name and email address of the packager or packager organization. + +The 'maintainer' is used to identify who actually packaged the software, as opposed to the author of the software. + +The name is first, then the email address inside angle brackets `<>` (in RFC5322 format). For example: "Foo Bar <maintainer@example.com>" + +See: https://wiki.alpinelinux.org/wiki/Apk_spec#PKGINFO_Format + + + +## `mtime` + + + +The file modification time as an RFC 3339 formatted string. + +For example: 2008-01-02T15:04:05Z + +The format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html + +NOTE: This field does NOT set the mtime for package contents. It sets the build time in package metadata (for package types that have that metadata), as well as the file modification time for files that nFPM generates in the package. To set the mtime for package contents, use the `file_mtime` field on the relevant `nfpm_content_*` targets. + +The default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable. + +See also: https://reproducible-builds.org/docs/timestamps/ + + + +## `output_path` + + + +Where the built directory tree should be located. + +If undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/project/packaging:rpm` would be `src.project.packaging/rpm/`. + +Regardless of whether you use the default or set this field, the package's file name will have the packaging system's conventional filename (as understood by nFPM). So, an rpm using the default for this field, the target `src/project/packaging:rpm` might have a final path like `src.project.packaging/rpm/projectname-1.2.3-1.x86_64.rpm`. Similarly, for deb, the target `src/project/packaging:deb` might have a final path like `src.project.packaging/deb/projectname_1.2.3+git-1_x86_64.deb`. The other packagers have their own formats as well. + +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. + + + +## `provides` + + + +A list of (virtual) packages or other things that this package provides. + +The 'provides' field takes a variety of different formats. You can provide package alternatives, virtual packages, or various packaged components (commands, shared objects, pkg-config, etc). A "provides" entry with a version specifier defines an alternative name for this package that will conflict with any other package that has or provides that name. A "provides" entry without a version specifier defines a virtual package that does not create conflicts; multiple packages with the same virtual package (no version specifier) can be installed at the same time. + +Sadly, the format of this field is not very well documented, so you may have to open other packages to find examples of how to use it. The format seems to be very similar to the 'depends' field. + +Here are some examples extracted a variety of random packages: + +- "cmd:bash=5.2.15-r0" - "cmd:git=2.38.5-r0" - "cmd:gio=2.74.6-r0" - "so:libgio-2.0.so.0=0.7400.6" - "so:libglib-2.0.so.0=0.7400.6" - "py3.10:pkgconfig=1.5.5-r1" - "pc:libpkgconf=1.9.4" - "pkgconfig=1" + +See: https://wiki.alpinelinux.org/wiki/Apk_spec#PKGINFO_Format https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#provides + + + +## `replaces` + + + +A list of packages whose files this package can take ownership of. + +WARNING: This field does NOT have the same semantics as "replaces" in other packaging systems. This field deals with allowing packages that want to provide the same file to be installed at the same time. + +If another package 'provides' the same file, and that package is in the 'replaces' list, then the apk installer will allow both packages to be installed and record that this package owns the conflicting files. + +This field takes a simple list of package names, like this: + +- "bash" - "git" - "pkgconfig" + +See: https://wiki.alpinelinux.org/wiki/Apk_spec#PKGINFO_Format https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#replaces + + + +## `scripts` + + + +Map of install script source files for the APK package. + +This maps the script type (key) to the script source file (value). Each of the script source file(s) must be provided via 'dependencies'. The script types are the terms used by nFPM. For reference, Alpine Linux uses the following terms in the APKBUILD file instead: + +``` +| nFPM term | APKBUILD term | ++-------------+----------------+ +| preinstall | pre-install | +| postinstall | post-install | +| preupgrade | pre-upgrade | +| postupgrade | post-upgrade | +| preremove | pre-deinstall | +| postremove | post-deinstall | +``` + +Please consult the Alpine Linux docs to understand when `apk` will run each of these scripts, how it handles a failure, and what failure means for the lifecycle of the package `apk` is working on. + +See: https://wiki.alpinelinux.org/wiki/APKBUILD_Reference#install https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#install https://wiki.alpinelinux.org/wiki/Apk_spec#Binary_Format + + + +## `tags` + + + +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. + + + +## `version_prerelease` + + + +This is a pre-release indicator like "alpha" or "beta" and often includes a numeric component like "rc1" and "rc2". + +For apk and archlinux, version and prerelease are merely concatenated. For deb and rpm, prerelease is typically prefixed with a "~" in the version. + +nFPM extracts the default for this from 'version' if it is semver compatible. If you set 'version_prerelease', then any prerelease component of 'version' gets discarded. + + + +## `version_release` + + + +The release or revision number for a given package version. + +Increment the release each time you release the same version of the package. Often, these releases allow for correcting metadata about a package or to rebuild something that was broken in a previous release of that version. + +Reset this to 1 whenever you bump the 'version' field. + +N.B.: nFPM does NOT parse this from the 'version' field. + + + +## `version_schema` + + + +Which schema the 'version' field follows. + +nFPM only supports two schemas for now: semver, none + +If this is "none", then nFPM will use 'version' as-is. + +If this is "semver", then nFPM will parse 'version' into its constituent parts using a lenient algorithm: It will strip a `v` prefix and will accept versions with fewer than 3 components, like `v1.2`. If parsing fails, then the version is used as-is. If parsing succeeds, nFPM replaces config options with the parsed components. + +The 'version' field always gets replaced with a dotted 3 part version (Major.Minor.Patch). + +The 'version_prerelease' field is only updated if not set. It gets the "dev", "alpha", "rc", or similar parsed prerelease indicator. + +The 'version_metadata' field is only updated if not set. This will be set with "git" when the version contains "+git" and similar metadata tags. + +The 'version_release' and 'version_epoch' fields are NOT replaced by components parsed from 'version'. + +N.B.: Some of these fields are not available for all package types. + +This field is named "version" because that is the term used by nFPM. Though deb and rpm packaging also use "version", this is known as "pkgver" in apk and archlinux packaging. + + + + diff --git a/docs/reference/targets/nfpm_archlinux_package.mdx b/docs/reference/targets/nfpm_archlinux_package.mdx new file mode 100644 index 000000000..0b432130a --- /dev/null +++ b/docs/reference/targets/nfpm_archlinux_package.mdx @@ -0,0 +1,413 @@ +--- +title: nfpm_archlinux_package +description: | + An Archlinux system package built by nFPM. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +An Archlinux system package built by nFPM. + +This will not install the package, only create an .tar.zst file that you can then distribute and install, e.g. via pkg. + +See https://www.pantsbuild.org/nfpm-archlinux-package. + +Backend: `pants.backend.experimental.nfpm` + +--- + + + +## `package_name` + + + +The package name. + + + +## `version` + + + +The package version (preferably following semver). + +If 'version_schema' is not 'semver', then this should not be prefixed with a 'v' because some package managers, like deb, require the version start with a digit. + +See the 'version_schema' field's help for more details about how this field gets parsed by nFPM when it is 'semver'. + + + +## `arch` + + + +The package architecture. + +This should be a valid GOARCH value (or GOARCH+GOARM) that nFPM can convert into the package-specific equivalent. Otherwise, pants tells nFPM to use this value as-is. + +nFPM conversion from GOARCH to package-specific value is documented here: https://nfpm.goreleaser.com/goarch-to-pkg/ + +Use one of these values unless you need nFPM to use your value as-is: '386', 'all', 'amd64', 'arm5', 'arm6', 'arm7', 'arm64', 'loong64', 'mips', 'mipsle', 'mips64', 'mips64le', 'ppc64', 'ppc64le', 'riscv64', 's390', 's390x', 'sparc64', 'wasm' + + + +## `conflicts` + + + +A list of (virtual) packages that this package conflicts with. + +Packages that conflict with each other cannot be installed at the same time. + +The 'conflicts' field has the same syntax as the 'depends' field. + +See: https://wiki.archlinux.org/title/PKGBUILD#conflicts https://man.archlinux.org/man/core/pacman/PKGBUILD.5.en + + + +## `dependencies` + + + +Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`. + +This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. + +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. + +If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. + +You may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file. + + + +## `depends` + + + +List of package dependencies (for package installers). + +The 'depends' field has install-time dependencies that can use version selectors (with one of `<`, `<=`, `=`, `>=`, `>`). + +- "git" - "tcpdump<5" - "foobar>=1.8.0" + +WARNING: This is NOT the same as the 'dependencies' field! It does not accept pants-style dependencies like target addresses. + +See: https://wiki.archlinux.org/title/PKGBUILD#depends https://man.archlinux.org/man/core/pacman/PKGBUILD.5.en https://wiki.archlinux.org/title/Arch_package_guidelines#Package_dependencies + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `homepage` + + + +The URL of this package's homepage like "https://example.com". + +This field is named "homepage" instead of "url" because that is the term used by nFPM, which adopted the term from deb packaging. The term "url" is used by apk, archlinux, and rpm packaging. + + + +## `license` + + + +The license of this package. + +Where possible, please try to use the SPDX license identifiers (for example "Apache-2.0", "BSD-3-Clause", "GPL-3.0-or-later", or "MIT"): https://spdx.org/licenses/ + +For more complex cases, where the package includes software with multiple licenses, consider using an SPDX license expression: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/ + +See also these rpm-specific descriptions of how to set this field (this is helpful info even if you are not using rpm): https://docs.fedoraproject.org/en-US/legal/license-field/ + +nFPM does not yet generate the debian/copyright file, so this field is technically unused for now. Even for deb, we recommend using this field to document the software license for this package. See also these pages about specifying a license for deb packaging: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification https://wiki.debian.org/Proposals/CopyrightFormat#Differences_between_DEP5_and_SPDX + + + +## `mtime` + + + +The file modification time as an RFC 3339 formatted string. + +For example: 2008-01-02T15:04:05Z + +The format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html + +NOTE: This field does NOT set the mtime for package contents. It sets the build time in package metadata (for package types that have that metadata), as well as the file modification time for files that nFPM generates in the package. To set the mtime for package contents, use the `file_mtime` field on the relevant `nfpm_content_*` targets. + +The default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable. + +See also: https://reproducible-builds.org/docs/timestamps/ + + + +## `output_path` + + + +Where the built directory tree should be located. + +If undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/project/packaging:rpm` would be `src.project.packaging/rpm/`. + +Regardless of whether you use the default or set this field, the package's file name will have the packaging system's conventional filename (as understood by nFPM). So, an rpm using the default for this field, the target `src/project/packaging:rpm` might have a final path like `src.project.packaging/rpm/projectname-1.2.3-1.x86_64.rpm`. Similarly, for deb, the target `src/project/packaging:deb` might have a final path like `src.project.packaging/deb/projectname_1.2.3+git-1_x86_64.deb`. The other packagers have their own formats as well. + +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. + + + +## `packager` + + + +The name and email address of the packager or packager organization. + +The 'packager' is used to identify who actually packaged the software, as opposed to the author of the software, or the maintainer of an archlinux PKGBUILD. + +The name is first, then the email address inside angle brackets `<>` (in RFC5322 format). For example: "Foo Bar <maintainer@example.com>" This format is the conventional format; it not a hard requirement. + +If not set, nFPM uses "Unknown Packager" by default (as does `makepkg`). + +See: https://man.archlinux.org/man/BUILDINFO.5 https://wiki.archlinux.org/title/Makepkg#Packager_information + + + +## `pkgbase` + + + +The base name of an Archlinux package. + +For split packages, 'pkgbase' specifies the name of the group of packages. For all other packages, this is the same as package name (known as 'pkgname' by Archlinux packaging tools). If unset, nFPM will use the package name as the default value for the 'pkgbase' field. + +See: https://man.archlinux.org/man/BUILDINFO.5 https://wiki.archlinux.org/title/PKGBUILD#pkgbase + + + +## `provides` + + + +A list of (virtual) packages or shared libraries that this package provides. + +Each entry can be either a package name or a shared library (which ends with ".so"). You can specify a version on both package names and shared libraries. If specified, the version must use `=` (not `<`, `<=`, etc). + +Make sure to include any shared libraries (.so files) that this package installs if they provide an external API for other packages to use. + +Do not include the 'package_name' (known by 'pkgname' in Archlinux) in the list of 'provides' as that is implicit. + +For example, package "baz" could declare that it also provides virtual packages "foo" and "bar" as well as the "libbaz.so" v2 shared object. Because the "baz" package implicitly provides its own name, this list should not include "baz". + +- "foo" - "bar=1.0.0" - "libbaz.so=2" + +If several packages declare the same 'provides', then they might need to declare that they conflict with each other using 'conflicts' if, for example, they also install a binary with the same path. Packages that have the same package (or virtual package) in both 'provides' and 'conflicts' are considered alternative packages that cannot be installed at the same time. If those package only include an entry in 'provides' and not in 'conflicts', then they CAN be installed at the same time. + +See: https://wiki.archlinux.org/title/PKGBUILD#provides https://man.archlinux.org/man/core/pacman/PKGBUILD.5.en https://wiki.archlinux.org/title/Arch_package_guidelines#Package_relations + + + +## `replaces` + + + +A list of packages that this package replaces or obsoletes. + +This allows for combining packages or splitting them up. When pacman does a `sysupgrade` operation, it will immediately replace the listed packages with this package. This option is ignored during pacman `sync` or `upgrade` operations. + +See: https://wiki.archlinux.org/title/PKGBUILD#replaces https://man.archlinux.org/man/core/pacman/PKGBUILD.5.en + + + +## `scripts` + + + +Map of install script source files for the Archlinux package. + +This maps the script type (key) to the script source file (value). Each of the script source file(s) must be provided via 'dependencies'. nFPM will package all of these scripts in a single `.INSTALL` scriptlet file by adding a shell function for each of your script files where your script becomes the body of that function. These functions are: + +``` +| nFPM script | `.INSTALL` function | ++-------------+---------------------+ +| preinstall | pre_install | +| postinstall | post_install | +| preupgrade | pre_upgrade | +| postupgrade | post_upgrade | +| preremove | pre_remove | +| postremove | post_remove | +``` + +So, if you provide a `preinstall` script, the `.INSTALL` scriptlet would contain: + +``` +function pre_install() { +# Your preinstall script's contents get embedded here. +} +``` + +Here are several things to keep in mind when writing your scripts: + +- Your scripts are actually functions, so use `return` instead of `exit`. +- `pacman` uses `/bin/sh` to source `.INSTALL` and run the function(s). +- `pacman` runs these in a chroot. +- The current directory is the root of the chroot. + +Please consult the Archlinux docs to understand when `pacman` will run each of these functions and what arguments the functions will receive. + +See: https://wiki.archlinux.org/title/pacman#What_happens_during_package_install/upgrade/removal https://man.archlinux.org/man/core/pacman/PKGBUILD.5.en#INSTALL/UPGRADE/REMOVE_SCRIPTING https://wiki.archlinux.org/title/PKGBUILD#install + + + +## `tags` + + + +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. + + + +## `version_epoch` + + + +A package with a higher version epoch will always be considered newer. This is primarily useful when the version numbering scheme has changed. + +Debian and RPM documentation warn against using epoch in most cases: https://www.debian.org/doc/debian-policy/ch-controlfields.html#epochs-should-be-used-sparingly https://rpm-packaging-guide.github.io/#epoch + +When this field is None (the default) nFPM will use "" for deb packages, and "0" for rpm packages. + +N.B.: The nFPM documentation incorrectly notes that nFPM can parse this from the 'version' field; the nFPM code actually does not replace or update this. + + + +## `version_prerelease` + + + +This is a pre-release indicator like "alpha" or "beta" and often includes a numeric component like "rc1" and "rc2". + +For apk and archlinux, version and prerelease are merely concatenated. For deb and rpm, prerelease is typically prefixed with a "~" in the version. + +nFPM extracts the default for this from 'version' if it is semver compatible. If you set 'version_prerelease', then any prerelease component of 'version' gets discarded. + + + +## `version_release` + + + +The release or revision number for a given package version. + +Increment the release each time you release the same version of the package. Often, these releases allow for correcting metadata about a package or to rebuild something that was broken in a previous release of that version. + +Reset this to 1 whenever you bump the 'version' field. + +N.B.: nFPM does NOT parse this from the 'version' field. + + + +## `version_schema` + + + +Which schema the 'version' field follows. + +nFPM only supports two schemas for now: semver, none + +If this is "none", then nFPM will use 'version' as-is. + +If this is "semver", then nFPM will parse 'version' into its constituent parts using a lenient algorithm: It will strip a `v` prefix and will accept versions with fewer than 3 components, like `v1.2`. If parsing fails, then the version is used as-is. If parsing succeeds, nFPM replaces config options with the parsed components. + +The 'version' field always gets replaced with a dotted 3 part version (Major.Minor.Patch). + +The 'version_prerelease' field is only updated if not set. It gets the "dev", "alpha", "rc", or similar parsed prerelease indicator. + +The 'version_metadata' field is only updated if not set. This will be set with "git" when the version contains "+git" and similar metadata tags. + +The 'version_release' and 'version_epoch' fields are NOT replaced by components parsed from 'version'. + +N.B.: Some of these fields are not available for all package types. + +This field is named "version" because that is the term used by nFPM. Though deb and rpm packaging also use "version", this is known as "pkgver" in apk and archlinux packaging. + + + + diff --git a/docs/reference/targets/nfpm_content_dir.mdx b/docs/reference/targets/nfpm_content_dir.mdx new file mode 100644 index 000000000..63dc3a8e8 --- /dev/null +++ b/docs/reference/targets/nfpm_content_dir.mdx @@ -0,0 +1,136 @@ +--- +title: nfpm_content_dir +description: | + A directory in an nFPM package (created on package install). +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A directory in an nFPM package (created on package install). + +Backend: `pants.backend.experimental.nfpm` + +--- + + + +## `dst` + + + +The absolute install path for a directory. + +When the package gets installed, a directory will be created at the 'dst' path. + +This path is an absolute path on the file system where the package will be installed. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `file_group` + + + +Name of the group that should own this packaged file or directory. + +This is like the GROUP arg in chown: https://www.mankier.com/1/chown + + + +## `file_mode` + + + +A file mode as a numeric octal, an string octal, or a symbolic representation. + +NB: In most cases, you should set this field and not rely on the default value. Pants only tracks the executable bit for workspace files. So, this field defaults to 0o755 for executable files and 0o644 for files that are not executable. + +You may specify the file mode as: an octal, an octal string, or a symbolic string. If you specify a numeric octal (not as a string), make sure to include python's octal prefix: `0o` like in `0o644`. If you specify the octal as a string, the `Oo` prefix is optional (like `644`). If you specify a symbolic file mode string, you must provide 9 characters with "-" in place of any absent permissions (like `'rw-r--r--'`). + +For example to specify world readable/executable and user writable, these are equivalent: + +- `0o755` - `'755'` - `'rwxr-xr-x'` + +Another example for a file with read/write permissions for only the user: + +- `0o600` - `'600'` - `'rw-------'` + +Another example for a file with the group sticky bit set: + +- `0o2660` - `'2660'` - `'rw-rwS---'` + +WARNING: If you forget to include the `0o` prefix on a numeric octal, then it will be interpreted as an integer which is probably not what you want. For example, `755` (no quotes) will be processed as `0o1363` (symbolically that would be '-wxrw--wt') which is probably not what you intended. Pants cannot detect errors like this, so be careful to either use a string or include the `0o` octal prefix. + + + +## `file_mtime` + + + +The file modification time as an RFC 3339 formatted string. + +For example: 2008-01-02T15:04:05Z + +The format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html + +Though nFPM supports pulling mtime from the src file or directory in most cases, the pants nfpm backend does not support this. Reading the mtime from the filesystem is problematic because Pants does not track the mtime of files and does not propagate any file mtime into the sandboxes. Reasons for this include: git does not track mtime, timestamps like mtime cause many issues for reproducible packaging builds, and reproducible builds are required for pants to provide its fine-grained caches. + +The default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable. + +See also: https://reproducible-builds.org/docs/timestamps/ + + + +## `file_owner` + + + +Username that should own this packaged file or directory. + +This is like the OWNER arg in chown: https://www.mankier.com/1/chown + + + +## `tags` + + + +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. + + + + diff --git a/docs/reference/targets/nfpm_content_dirs.mdx b/docs/reference/targets/nfpm_content_dirs.mdx new file mode 100644 index 000000000..09fee9032 --- /dev/null +++ b/docs/reference/targets/nfpm_content_dirs.mdx @@ -0,0 +1,149 @@ +--- +title: nfpm_content_dirs +description: | + Multiple directories in an nFPM package (created on package install). +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Multiple directories in an nFPM package (created on package install). + +Backend: `pants.backend.experimental.nfpm` + +--- + + + +## `dirs` + + + +A list of install path for 'dst' directories. + +When the package gets installed, each directory will be created. + +Each path is an absolute path on the file system where the package will be installed. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `file_group` + + + +Name of the group that should own this packaged file or directory. + +This is like the GROUP arg in chown: https://www.mankier.com/1/chown + + + +## `file_mode` + + + +A file mode as a numeric octal, an string octal, or a symbolic representation. + +NB: In most cases, you should set this field and not rely on the default value. Pants only tracks the executable bit for workspace files. So, this field defaults to 0o755 for executable files and 0o644 for files that are not executable. + +You may specify the file mode as: an octal, an octal string, or a symbolic string. If you specify a numeric octal (not as a string), make sure to include python's octal prefix: `0o` like in `0o644`. If you specify the octal as a string, the `Oo` prefix is optional (like `644`). If you specify a symbolic file mode string, you must provide 9 characters with "-" in place of any absent permissions (like `'rw-r--r--'`). + +For example to specify world readable/executable and user writable, these are equivalent: + +- `0o755` - `'755'` - `'rwxr-xr-x'` + +Another example for a file with read/write permissions for only the user: + +- `0o600` - `'600'` - `'rw-------'` + +Another example for a file with the group sticky bit set: + +- `0o2660` - `'2660'` - `'rw-rwS---'` + +WARNING: If you forget to include the `0o` prefix on a numeric octal, then it will be interpreted as an integer which is probably not what you want. For example, `755` (no quotes) will be processed as `0o1363` (symbolically that would be '-wxrw--wt') which is probably not what you intended. Pants cannot detect errors like this, so be careful to either use a string or include the `0o` octal prefix. + + + +## `file_mtime` + + + +The file modification time as an RFC 3339 formatted string. + +For example: 2008-01-02T15:04:05Z + +The format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html + +Though nFPM supports pulling mtime from the src file or directory in most cases, the pants nfpm backend does not support this. Reading the mtime from the filesystem is problematic because Pants does not track the mtime of files and does not propagate any file mtime into the sandboxes. Reasons for this include: git does not track mtime, timestamps like mtime cause many issues for reproducible packaging builds, and reproducible builds are required for pants to provide its fine-grained caches. + +The default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable. + +See also: https://reproducible-builds.org/docs/timestamps/ + + + +## `file_owner` + + + +Username that should own this packaged file or directory. + +This is like the OWNER arg in chown: https://www.mankier.com/1/chown + + + +## `overrides` + + + +Override the field values for generated `nfpm_content_dir` targets. + +This expects a dictionary of 'dst' files to a dictionary for the overrides. + + + +## `tags` + + + +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. + + + + diff --git a/docs/reference/targets/nfpm_content_file.mdx b/docs/reference/targets/nfpm_content_file.mdx new file mode 100644 index 000000000..cf1f15cc0 --- /dev/null +++ b/docs/reference/targets/nfpm_content_file.mdx @@ -0,0 +1,226 @@ +--- +title: nfpm_content_file +description: | + A file (of any type) that should be copied into an nFPM package. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A file (of any type) that should be copied into an nFPM package. + +The file comes from either the 'source' field or from any of the targets listed in the 'dependencies' field. The file may be a workspace file, a generated file, or even a package. + +The '<class 'pants.backend.nfpm.fields.contents.NfpmContentSrcField'>' field tells nFPM where the file is in the sandbox. The '<class 'pants.backend.nfpm.fields.contents.NfpmContentDstField'>' field tells nFPM where the file should be installed by the nFPM-generated package. + +Backend: `pants.backend.experimental.nfpm` + +--- + + + +## `dst` + + + +The absolute install path for a packaged file. + +When the package gets installed, the file from 'src' will be installed using the absolute path in 'dst'. + +This path is an absolute path on the file system where the package will be installed. + + + +## `content_type` + + + +The nFPM content type for the packaged file. + +The content type can be either + +- '': a normal file (the default), or +- 'config': a config file. + +For RPM packaged files, the content type can also be one of: + +- 'config|noreplace', +- 'doc', +- 'license', and +- 'readme'. + +The 'config|noreplace' type is used for RPM's `%config(noreplace)` option. For packagers other than RPM, using 'config|noreplace' is the same as 'config' and the remaining RPM-specific types are the same as '', a normal file. + +This field only supports file-specific nFPM content types. Please use these targets for non-file content: + +- For 'dir' content, use targets `nfpm_content_dir` and `nfpm_content_dirs`. +- For 'symlink' content, use targets `nfpm_content_symlink` and `nfpm_content_symlinks`. +- For RPM 'ghost' content, use field 'ghost_contents' on target `nfpm_rpm_package`. + +The nFPM 'tree' content type is not supported. Before passing the list of package contents to nFPM, pants expands target generators and any globs, so the 'tree' content type does not make sense. + + + +## `dependencies` + + + +Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`. + +This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. + +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. + +If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. + +You may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `file_group` + + + +Name of the group that should own this packaged file or directory. + +This is like the GROUP arg in chown: https://www.mankier.com/1/chown + + + +## `file_mode` + + + +A file mode as a numeric octal, an string octal, or a symbolic representation. + +NB: In most cases, you should set this field and not rely on the default value. Pants only tracks the executable bit for workspace files. So, this field defaults to 0o755 for executable files and 0o644 for files that are not executable. + +You may specify the file mode as: an octal, an octal string, or a symbolic string. If you specify a numeric octal (not as a string), make sure to include python's octal prefix: `0o` like in `0o644`. If you specify the octal as a string, the `Oo` prefix is optional (like `644`). If you specify a symbolic file mode string, you must provide 9 characters with "-" in place of any absent permissions (like `'rw-r--r--'`). + +For example to specify world readable/executable and user writable, these are equivalent: + +- `0o755` - `'755'` - `'rwxr-xr-x'` + +Another example for a file with read/write permissions for only the user: + +- `0o600` - `'600'` - `'rw-------'` + +Another example for a file with the group sticky bit set: + +- `0o2660` - `'2660'` - `'rw-rwS---'` + +WARNING: If you forget to include the `0o` prefix on a numeric octal, then it will be interpreted as an integer which is probably not what you want. For example, `755` (no quotes) will be processed as `0o1363` (symbolically that would be '-wxrw--wt') which is probably not what you intended. Pants cannot detect errors like this, so be careful to either use a string or include the `0o` octal prefix. + + + +## `file_mtime` + + + +The file modification time as an RFC 3339 formatted string. + +For example: 2008-01-02T15:04:05Z + +The format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html + +Though nFPM supports pulling mtime from the src file or directory in most cases, the pants nfpm backend does not support this. Reading the mtime from the filesystem is problematic because Pants does not track the mtime of files and does not propagate any file mtime into the sandboxes. Reasons for this include: git does not track mtime, timestamps like mtime cause many issues for reproducible packaging builds, and reproducible builds are required for pants to provide its fine-grained caches. + +The default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable. + +See also: https://reproducible-builds.org/docs/timestamps/ + + + +## `file_owner` + + + +Username that should own this packaged file or directory. + +This is like the OWNER arg in chown: https://www.mankier.com/1/chown + + + +## `source` + + + +A file that should be copied into an nFPM package (optional). + +Either specify a file with 'source', or use 'dependencies' to add a dependency on the target that owns the file. + +If both 'src' and 'source' are populated, then the file in 'source' will be placed in the sandbox at the 'src' path (similar to how the 'relocated_files' target works). + + + +## `src` + + + +A file path that should be included in the package. + +When the package gets installed, the file from 'src' will be installed using the absolute path in 'dst'. + +This path should be relative to the sandbox. The path should point to a generated file or a real file sourced from the workspace. + +Either 'src' or 'source' is required. If the 'source' field is provided, then the 'src' defaults to the file referenced in the 'source' field. + +If both 'src' and 'source' are populated, then the file in 'source' will be placed in the sandbox at the 'src' path (similar to how the 'relocated_files' target works). + + + +## `tags` + + + +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. + + + + diff --git a/docs/reference/targets/nfpm_content_files.mdx b/docs/reference/targets/nfpm_content_files.mdx new file mode 100644 index 000000000..b0bf678b4 --- /dev/null +++ b/docs/reference/targets/nfpm_content_files.mdx @@ -0,0 +1,201 @@ +--- +title: nfpm_content_files +description: | + Multiple files that should be copied into an nFPM package. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Multiple files that should be copied into an nFPM package. + +Pass the list of ('src', 'dst') file tuples in the 'files' field. The 'src' files must be provided by or generated by the targets in 'dependencies'. + +Backend: `pants.backend.experimental.nfpm` + +--- + + + +## `files` + + + +A list of 2-tuples ('src', 'dst'). + +The second part, `dst', must be unique across all entries. + + + +## `content_type` + + + +The nFPM content type for the packaged file. + +The content type can be either + +- '': a normal file (the default), or +- 'config': a config file. + +For RPM packaged files, the content type can also be one of: + +- 'config|noreplace', +- 'doc', +- 'license', and +- 'readme'. + +The 'config|noreplace' type is used for RPM's `%config(noreplace)` option. For packagers other than RPM, using 'config|noreplace' is the same as 'config' and the remaining RPM-specific types are the same as '', a normal file. + +This field only supports file-specific nFPM content types. Please use these targets for non-file content: + +- For 'dir' content, use targets `nfpm_content_dir` and `nfpm_content_dirs`. +- For 'symlink' content, use targets `nfpm_content_symlink` and `nfpm_content_symlinks`. +- For RPM 'ghost' content, use field 'ghost_contents' on target `nfpm_rpm_package`. + +The nFPM 'tree' content type is not supported. Before passing the list of package contents to nFPM, pants expands target generators and any globs, so the 'tree' content type does not make sense. + + + +## `dependencies` + + + +Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`. + +This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. + +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. + +If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. + +You may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `file_group` + + + +Name of the group that should own this packaged file or directory. + +This is like the GROUP arg in chown: https://www.mankier.com/1/chown + + + +## `file_mode` + + + +A file mode as a numeric octal, an string octal, or a symbolic representation. + +NB: In most cases, you should set this field and not rely on the default value. Pants only tracks the executable bit for workspace files. So, this field defaults to 0o755 for executable files and 0o644 for files that are not executable. + +You may specify the file mode as: an octal, an octal string, or a symbolic string. If you specify a numeric octal (not as a string), make sure to include python's octal prefix: `0o` like in `0o644`. If you specify the octal as a string, the `Oo` prefix is optional (like `644`). If you specify a symbolic file mode string, you must provide 9 characters with "-" in place of any absent permissions (like `'rw-r--r--'`). + +For example to specify world readable/executable and user writable, these are equivalent: + +- `0o755` - `'755'` - `'rwxr-xr-x'` + +Another example for a file with read/write permissions for only the user: + +- `0o600` - `'600'` - `'rw-------'` + +Another example for a file with the group sticky bit set: + +- `0o2660` - `'2660'` - `'rw-rwS---'` + +WARNING: If you forget to include the `0o` prefix on a numeric octal, then it will be interpreted as an integer which is probably not what you want. For example, `755` (no quotes) will be processed as `0o1363` (symbolically that would be '-wxrw--wt') which is probably not what you intended. Pants cannot detect errors like this, so be careful to either use a string or include the `0o` octal prefix. + + + +## `file_mtime` + + + +The file modification time as an RFC 3339 formatted string. + +For example: 2008-01-02T15:04:05Z + +The format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html + +Though nFPM supports pulling mtime from the src file or directory in most cases, the pants nfpm backend does not support this. Reading the mtime from the filesystem is problematic because Pants does not track the mtime of files and does not propagate any file mtime into the sandboxes. Reasons for this include: git does not track mtime, timestamps like mtime cause many issues for reproducible packaging builds, and reproducible builds are required for pants to provide its fine-grained caches. + +The default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable. + +See also: https://reproducible-builds.org/docs/timestamps/ + + + +## `file_owner` + + + +Username that should own this packaged file or directory. + +This is like the OWNER arg in chown: https://www.mankier.com/1/chown + + + +## `overrides` + + + +Override the field values for generated `nfpm_content_file` targets. + +This expects a dictionary of 'dst' files to a dictionary for the overrides. + + + +## `tags` + + + +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. + + + + diff --git a/docs/reference/targets/nfpm_content_symlink.mdx b/docs/reference/targets/nfpm_content_symlink.mdx new file mode 100644 index 000000000..54ee97601 --- /dev/null +++ b/docs/reference/targets/nfpm_content_symlink.mdx @@ -0,0 +1,150 @@ +--- +title: nfpm_content_symlink +description: | + A symlink in an nFPM package (created on package install). +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A symlink in an nFPM package (created on package install). + +Backend: `pants.backend.experimental.nfpm` + +--- + + + +## `dst` + + + +The symlink path (on package install). + +When the package gets installed, a symlink will be installed at the 'dst' path. The symlink will point to the 'src' path (the symlink target). + +This path is an absolute path on the file system where the package will be installed. + + + +## `src` + + + +The symlink target path (on package install). + +When the package gets installed, a symlink will be installed at the 'dst' path. The symlink will point to the 'src' path (the symlink target). + +This path is a path on the file system where the package will be installed. If this path is absolute, it is the absolute path to the symlink's target path. If this path is relative, it is relative to the 'dst' path, which is where the symlink will be created. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `file_group` + + + +Name of the group that should own this packaged file or directory. + +This is like the GROUP arg in chown: https://www.mankier.com/1/chown + + + +## `file_mode` + + + +A file mode as a numeric octal, an string octal, or a symbolic representation. + +NB: In most cases, you should set this field and not rely on the default value. Pants only tracks the executable bit for workspace files. So, this field defaults to 0o755 for executable files and 0o644 for files that are not executable. + +You may specify the file mode as: an octal, an octal string, or a symbolic string. If you specify a numeric octal (not as a string), make sure to include python's octal prefix: `0o` like in `0o644`. If you specify the octal as a string, the `Oo` prefix is optional (like `644`). If you specify a symbolic file mode string, you must provide 9 characters with "-" in place of any absent permissions (like `'rw-r--r--'`). + +For example to specify world readable/executable and user writable, these are equivalent: + +- `0o755` - `'755'` - `'rwxr-xr-x'` + +Another example for a file with read/write permissions for only the user: + +- `0o600` - `'600'` - `'rw-------'` + +Another example for a file with the group sticky bit set: + +- `0o2660` - `'2660'` - `'rw-rwS---'` + +WARNING: If you forget to include the `0o` prefix on a numeric octal, then it will be interpreted as an integer which is probably not what you want. For example, `755` (no quotes) will be processed as `0o1363` (symbolically that would be '-wxrw--wt') which is probably not what you intended. Pants cannot detect errors like this, so be careful to either use a string or include the `0o` octal prefix. + + + +## `file_mtime` + + + +The file modification time as an RFC 3339 formatted string. + +For example: 2008-01-02T15:04:05Z + +The format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html + +Though nFPM supports pulling mtime from the src file or directory in most cases, the pants nfpm backend does not support this. Reading the mtime from the filesystem is problematic because Pants does not track the mtime of files and does not propagate any file mtime into the sandboxes. Reasons for this include: git does not track mtime, timestamps like mtime cause many issues for reproducible packaging builds, and reproducible builds are required for pants to provide its fine-grained caches. + +The default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable. + +See also: https://reproducible-builds.org/docs/timestamps/ + + + +## `file_owner` + + + +Username that should own this packaged file or directory. + +This is like the OWNER arg in chown: https://www.mankier.com/1/chown + + + +## `tags` + + + +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. + + + + diff --git a/docs/reference/targets/nfpm_content_symlinks.mdx b/docs/reference/targets/nfpm_content_symlinks.mdx new file mode 100644 index 000000000..1af3bcdcd --- /dev/null +++ b/docs/reference/targets/nfpm_content_symlinks.mdx @@ -0,0 +1,151 @@ +--- +title: nfpm_content_symlinks +description: | + Multiple symlinks in an nFPM package (created on package install). +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Multiple symlinks in an nFPM package (created on package install). + +Pass the list of ('src', 'dst') symlink tuples in the 'symlinks' field. + +Note that 'src' is commonly known as the symlink "target" and 'dst' is the path to the symlink itself, also known as the symlink "name". + +Backend: `pants.backend.experimental.nfpm` + +--- + + + +## `symlinks` + + + +A list of 2-tuples ('src', 'dst'). + +The second part, `dst', must be unique across all entries. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `file_group` + + + +Name of the group that should own this packaged file or directory. + +This is like the GROUP arg in chown: https://www.mankier.com/1/chown + + + +## `file_mode` + + + +A file mode as a numeric octal, an string octal, or a symbolic representation. + +NB: In most cases, you should set this field and not rely on the default value. Pants only tracks the executable bit for workspace files. So, this field defaults to 0o755 for executable files and 0o644 for files that are not executable. + +You may specify the file mode as: an octal, an octal string, or a symbolic string. If you specify a numeric octal (not as a string), make sure to include python's octal prefix: `0o` like in `0o644`. If you specify the octal as a string, the `Oo` prefix is optional (like `644`). If you specify a symbolic file mode string, you must provide 9 characters with "-" in place of any absent permissions (like `'rw-r--r--'`). + +For example to specify world readable/executable and user writable, these are equivalent: + +- `0o755` - `'755'` - `'rwxr-xr-x'` + +Another example for a file with read/write permissions for only the user: + +- `0o600` - `'600'` - `'rw-------'` + +Another example for a file with the group sticky bit set: + +- `0o2660` - `'2660'` - `'rw-rwS---'` + +WARNING: If you forget to include the `0o` prefix on a numeric octal, then it will be interpreted as an integer which is probably not what you want. For example, `755` (no quotes) will be processed as `0o1363` (symbolically that would be '-wxrw--wt') which is probably not what you intended. Pants cannot detect errors like this, so be careful to either use a string or include the `0o` octal prefix. + + + +## `file_mtime` + + + +The file modification time as an RFC 3339 formatted string. + +For example: 2008-01-02T15:04:05Z + +The format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html + +Though nFPM supports pulling mtime from the src file or directory in most cases, the pants nfpm backend does not support this. Reading the mtime from the filesystem is problematic because Pants does not track the mtime of files and does not propagate any file mtime into the sandboxes. Reasons for this include: git does not track mtime, timestamps like mtime cause many issues for reproducible packaging builds, and reproducible builds are required for pants to provide its fine-grained caches. + +The default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable. + +See also: https://reproducible-builds.org/docs/timestamps/ + + + +## `file_owner` + + + +Username that should own this packaged file or directory. + +This is like the OWNER arg in chown: https://www.mankier.com/1/chown + + + +## `overrides` + + + +Override the field values for generated `nfpm_content_symlink` targets. + +This expects a dictionary of 'dst' files to a dictionary for the overrides. + + + +## `tags` + + + +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. + + + + diff --git a/docs/reference/targets/nfpm_deb_package.mdx b/docs/reference/targets/nfpm_deb_package.mdx new file mode 100644 index 000000000..459b05d15 --- /dev/null +++ b/docs/reference/targets/nfpm_deb_package.mdx @@ -0,0 +1,573 @@ +--- +title: nfpm_deb_package +description: | + A Debian system package built by nFPM. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A Debian system package built by nFPM. + +This will not install the package, only create a .deb file that you can then distribute and install, e.g. via pkg. + +See https://www.pantsbuild.org/nfpm-deb-package. + +Backend: `pants.backend.experimental.nfpm` + +--- + + + +## `maintainer` + + + +The name and email address of the package maintainer. + +The 'maintainer' is used to identify who actually packaged the software, as opposed to the author of the software. + +The name is first, then the email address inside angle brackets `<>` (in RFC5322 format). For example: "Foo Bar <maintainer@example.com>" + +See: https://www.debian.org/doc/debian-policy/ch-controlfields.html#maintainer + + + +## `package_name` + + + +The package name. + + + +## `version` + + + +The package version (preferably following semver). + +If 'version_schema' is not 'semver', then this should not be prefixed with a 'v' because some package managers, like deb, require the version start with a digit. + +See the 'version_schema' field's help for more details about how this field gets parsed by nFPM when it is 'semver'. + + + +## `arch` + + + +The package architecture. + +This should be a valid GOARCH value (or GOARCH+GOARM) that nFPM can convert into the package-specific equivalent. Otherwise, pants tells nFPM to use this value as-is. + +nFPM conversion from GOARCH to package-specific value is documented here: https://nfpm.goreleaser.com/goarch-to-pkg/ + +Use one of these values unless you need nFPM to use your value as-is: '386', 'all', 'amd64', 'arm5', 'arm6', 'arm7', 'arm64', 'loong64', 'mips', 'mipsle', 'mips64', 'mips64le', 'ppc64', 'ppc64le', 'riscv64', 's390', 's390x', 'sparc64', 'wasm' + + + +## `breaks` + + + +A list of packages which would break if this package would be installed. + +The installation of this package is blocked (by package installers) if any packages in this list are already installed. This is a looser package relationship than the 'conflicts' field, because it allows the package installer more flexibility on ordering package installs and removals (For example, if this package breaks "bar", then "bar" can be removed after this package when it gets removed in the same package install transaction). + +For example, this is how to declare that this breaks package foo, but only if foo version 2.5 or less is installed and it breaks package bar no matter what version is installed. + +- "foo (<2.6)" - "bar" + +See: https://www.debian.org/doc/debian-policy/ch-relationships.html#packages-which-break-other-packages-breaks + + + +## `compression` + + + +The compression algorithm to use on the deb package. + + + +## `conflicts` + + + +A list of packages that this package conflicts with. + +Generally, you should use 'breaks' instead of 'conflicts', because 'conflicts' imposes much more strict requirements on the order of package installs and removals. Use this if the conflicting packages must be completely uninstalled before this package can be installed. + +For example, this is how to declare that this package conflicts with the foo (version 2.5 or less) and bar packages, so they must be uninstalled before this package can be installed. + +- "foo (<2.6)" - "bar" + +See: https://www.debian.org/doc/debian-policy/ch-relationships.html#conflicting-binary-packages-conflicts + + + +## `dependencies` + + + +Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`. + +This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. + +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. + +If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. + +You may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file. + + + +## `depends` + + + +List of package dependencies (for package installers). + +The 'depends' field has install-time dependencies that can use version selectors (with one of `<<`, `<=`, `=`, `>=`, `>>` in parentheses) or use `|` to specify package alternatives that equally satisfy a dependency. + +- "git" - "libc6 (>= 2.2.1)" - "default-mta | mail-transport-agent" + +Make sure to include package dependencies of this package as well as any packages required by the `postinstall`, `postupgrade`, or `preremove` scripts. + +WARNING: This is NOT the same as the 'dependencies' field! It does not accept pants-style dependencies like target addresses. + +See: https://www.debian.org/doc/debian-policy/ch-relationships.html + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `fields` + + + +Additional fields for the control file. Empty fields are ignored. + +Debian control files supports more fields than the options that are exposed by nFPM and the pants nfpm backend. Debian even allows for user-defined fields. So, this 'fields' field provides a way to add any additional fields to the debian control file. + +See: https://www.debian.org/doc/debian-policy/ch-controlfields.html#user-defined-fields + + + +## `homepage` + + + +The URL of this package's homepage like "https://example.com". + +This field is named "homepage" instead of "url" because that is the term used by nFPM, which adopted the term from deb packaging. The term "url" is used by apk, archlinux, and rpm packaging. + + + +## `license` + + + +The license of this package. + +Where possible, please try to use the SPDX license identifiers (for example "Apache-2.0", "BSD-3-Clause", "GPL-3.0-or-later", or "MIT"): https://spdx.org/licenses/ + +For more complex cases, where the package includes software with multiple licenses, consider using an SPDX license expression: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/ + +See also these rpm-specific descriptions of how to set this field (this is helpful info even if you are not using rpm): https://docs.fedoraproject.org/en-US/legal/license-field/ + +nFPM does not yet generate the debian/copyright file, so this field is technically unused for now. Even for deb, we recommend using this field to document the software license for this package. See also these pages about specifying a license for deb packaging: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification https://wiki.debian.org/Proposals/CopyrightFormat#Differences_between_DEP5_and_SPDX + + + +## `mtime` + + + +The file modification time as an RFC 3339 formatted string. + +For example: 2008-01-02T15:04:05Z + +The format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html + +NOTE: This field does NOT set the mtime for package contents. It sets the build time in package metadata (for package types that have that metadata), as well as the file modification time for files that nFPM generates in the package. To set the mtime for package contents, use the `file_mtime` field on the relevant `nfpm_content_*` targets. + +The default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable. + +See also: https://reproducible-builds.org/docs/timestamps/ + + + +## `output_path` + + + +Where the built directory tree should be located. + +If undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/project/packaging:rpm` would be `src.project.packaging/rpm/`. + +Regardless of whether you use the default or set this field, the package's file name will have the packaging system's conventional filename (as understood by nFPM). So, an rpm using the default for this field, the target `src/project/packaging:rpm` might have a final path like `src.project.packaging/rpm/projectname-1.2.3-1.x86_64.rpm`. Similarly, for deb, the target `src/project/packaging:deb` might have a final path like `src.project.packaging/deb/projectname_1.2.3+git-1_x86_64.deb`. The other packagers have their own formats as well. + +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. + + + +## `platform` + + + +The package platform or OS. + +You probably do not need to change the package's OS. nFPM is designed with the assumption that this is a GOOS value (since nFPM is part of the "goreleaser" project). But, nFPM does not do much with it. + +For archlinux and apk, the only valid value is 'linux'. For deb, this can be used as part of the 'Architecture' entry. For rpm, this populates the "OS" tag. + + + +## `predepends` + + + +List of package unpack-time dependencies (for package installers). + +In most cases, you should use the 'depends' field instead of this one to declare install-time package dependencies. The 'predepends' field has install-time dependencies that need to be available (including unpacking, pre-install, and post-install scripts) before unpacking or installing this package. + +Make sure to include packages required by the `preinst` script. + +WARNING: This is NOT the same as the 'dependencies' field! It does not accept pants-style dependencies like target addresses. + +See: https://www.debian.org/doc/debian-policy/ch-relationships.html + + + +## `priority` + + + +Indicates how important the package is for OS functions. + +Most packages should just stick with the default priority: "optional". + +See: https://www.debian.org/doc/debian-policy/ch-archive.html#s-f-priority + +Valid priorities are listed here: https://www.debian.org/doc/debian-policy/ch-archive.html#priorities + + + +## `provides` + + + +A list of virtual packages that this package provides. + +Each entry can be either a package name, or a package name with a version. The version, however, must be declared with `=` (not `<<`, `<=`, etc) + +For example, these declare virtual packages foo and bar. + +- "foo" - "bar (=1.0.0)" + +If several packages declare the same 'provides', then they might need to declare that they conflict with each other using 'conflicts' if, for example, they also install a binary with the same path. + +See: https://www.debian.org/doc/debian-policy/ch-relationships.html#virtual-packages-provides + + + +## `recommends` + + + +List of optional package dependencies (for package installers). + +The 'recommends' field has packages that can be excluded in "unusual installations" but should generally be installed with this package. + +WARNING: This is NOT the same as the 'dependencies' field! It does not accept pants-style dependencies like target addresses. + +See: https://www.debian.org/doc/debian-policy/ch-relationships.html + + + +## `replaces` + + + +A list of packages that this package replaces or partially replaces. + +To declare that this package partially replaces another package, by taking ownership of files in that package, include that other package in both 'replaces' and 'breaks'. + +If this package completely replaces the other package, you can force its removal by including the other package in both 'replaces' and 'conflicts' (and 'provides' if it is a virtual package). + +See: https://www.debian.org/doc/debian-policy/ch-relationships.html#overwriting-files-and-replacing-packages-replaces + + + +## `scripts` + + + +Map of maintainer script source files for the deb package. + +This maps the script type (key) to the script source file (value). Each of the script source file(s) must be provided via 'dependencies'. The script types are the names used by nFPM. For reference, Debian uses the following file names instead: + +``` +| nFPM script | Debian file | ++-------------+-------------+ +| preinstall | preinst | +| postinstall | postinst | +| preremove | prerm | +| postremove | postrm | +| config | config | +| templates | templates | +| rules | rules | +``` + +The `pre*` and `post*` scripts are used by `dpkg` at various stages of installing, upgrading, and removing the deb package. + +The `config` script and `templates` file are part of the Debian Configuration Management Specification. `config` can run at any time, including before `preinst` to prompt the user for package configuration using `debconf`. `templates` is used by `debconf` to create those prompts. + +The `rules` script is only needed for source packages. This script is an executable makefile that can build a binary from the packaged sources. + +Please consult the Debian docs to understand when `dpkg` or `debconf` will run each of these scripts, what assumptions you can safely make when they run, and how `dpkg` handles a failure. + +See: https://www.debian.org/doc/debian-policy/ch-binary.html#maintainer-scripts https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html https://www.debian.org/doc/debian-policy/ap-flowcharts.html http://www.fifi.org/doc/debconf-doc/tutorial.html https://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules + + + +## `section` + + + +Which section, or application area, this package is part of. + +For example, you could classify your application under the "education" section, or under a language section like "python", "rust", or "ruby". + +See: https://www.debian.org/doc/debian-policy/ch-archive.html#sections + +Valid sections are listed here: https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections + + + +## `suggests` + + + +A list of package suggestions (for package installers). + +These packages are completely optional, but could be useful for users of this package to install as well. + +See: https://www.debian.org/doc/debian-policy/ch-relationships.html + + + +## `tags` + + + +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. + + + +## `triggers` + + + +Custom deb triggers. + +nFPM uses this to create a deb triggers file, so that the package can declare its "interest" in named triggers or declare that the indicated triggers should "activate" when this package's state changes. + +The Debian documentation describes the format for the triggers file. nFPM simplifies that by accepting a dictionary from trigger directives to lists of trigger names. + +For example (note the underscore in "interest_noawait"): + +`triggers={"interest_noawait": ["some-trigger", "other-trigger"]}` + +Gets translated by nFPM into: +`interest-noawait some-trigger interest-noawait other-trigger` + +See: https://wiki.debian.org/DpkgTriggers https://www.mankier.com/5/deb-triggers + + + +## `version_epoch` + + + +A package with a higher version epoch will always be considered newer. This is primarily useful when the version numbering scheme has changed. + +Debian and RPM documentation warn against using epoch in most cases: https://www.debian.org/doc/debian-policy/ch-controlfields.html#epochs-should-be-used-sparingly https://rpm-packaging-guide.github.io/#epoch + +When this field is None (the default) nFPM will use "" for deb packages, and "0" for rpm packages. + +N.B.: The nFPM documentation incorrectly notes that nFPM can parse this from the 'version' field; the nFPM code actually does not replace or update this. + + + +## `version_metadata` + + + +This is package-manager specific metadata for the version. + +This is typically prefixed with a "+" in the version. If the version contains "+git", then the 'version_metadata' is "git". Debian has various conventions for this metadata, including things like "+b", "+nmu", "+really", and "+deb10u1". See: https://www.debian.org/doc/debian-policy/ch-controlfields.html#special-version-conventions + +nFPM extracts the default for this from 'version' if it is semver compatible. If you set 'version_metadata', then any metadata component of 'version' gets discarded. + + + +## `version_prerelease` + + + +This is a pre-release indicator like "alpha" or "beta" and often includes a numeric component like "rc1" and "rc2". + +For apk and archlinux, version and prerelease are merely concatenated. For deb and rpm, prerelease is typically prefixed with a "~" in the version. + +nFPM extracts the default for this from 'version' if it is semver compatible. If you set 'version_prerelease', then any prerelease component of 'version' gets discarded. + + + +## `version_release` + + + +The release or revision number for a given package version. + +Increment the release each time you release the same version of the package. Often, these releases allow for correcting metadata about a package or to rebuild something that was broken in a previous release of that version. + +Reset this to 1 whenever you bump the 'version' field. + +N.B.: nFPM does NOT parse this from the 'version' field. + + + +## `version_schema` + + + +Which schema the 'version' field follows. + +nFPM only supports two schemas for now: semver, none + +If this is "none", then nFPM will use 'version' as-is. + +If this is "semver", then nFPM will parse 'version' into its constituent parts using a lenient algorithm: It will strip a `v` prefix and will accept versions with fewer than 3 components, like `v1.2`. If parsing fails, then the version is used as-is. If parsing succeeds, nFPM replaces config options with the parsed components. + +The 'version' field always gets replaced with a dotted 3 part version (Major.Minor.Patch). + +The 'version_prerelease' field is only updated if not set. It gets the "dev", "alpha", "rc", or similar parsed prerelease indicator. + +The 'version_metadata' field is only updated if not set. This will be set with "git" when the version contains "+git" and similar metadata tags. + +The 'version_release' and 'version_epoch' fields are NOT replaced by components parsed from 'version'. + +N.B.: Some of these fields are not available for all package types. + +This field is named "version" because that is the term used by nFPM. Though deb and rpm packaging also use "version", this is known as "pkgver" in apk and archlinux packaging. + + + + diff --git a/docs/reference/targets/nfpm_rpm_package.mdx b/docs/reference/targets/nfpm_rpm_package.mdx new file mode 100644 index 000000000..1720095fa --- /dev/null +++ b/docs/reference/targets/nfpm_rpm_package.mdx @@ -0,0 +1,556 @@ +--- +title: nfpm_rpm_package +description: | + An RPM system package built by nFPM. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +An RPM system package built by nFPM. + +This will not install the package, only create an .rpm file that you can then distribute and install, e.g. via pkg. + +See https://www.pantsbuild.org/nfpm-rpm-package. + +Backend: `pants.backend.experimental.nfpm` + +--- + + + +## `package_name` + + + +The package name. + + + +## `version` + + + +The package version (preferably following semver). + +If 'version_schema' is not 'semver', then this should not be prefixed with a 'v' because some package managers, like deb, require the version start with a digit. + +See the 'version_schema' field's help for more details about how this field gets parsed by nFPM when it is 'semver'. + + + +## `arch` + + + +The package architecture. + +This should be a valid GOARCH value (or GOARCH+GOARM) that nFPM can convert into the package-specific equivalent. Otherwise, pants tells nFPM to use this value as-is. + +nFPM conversion from GOARCH to package-specific value is documented here: https://nfpm.goreleaser.com/goarch-to-pkg/ + +Use one of these values unless you need nFPM to use your value as-is: '386', 'all', 'amd64', 'arm5', 'arm6', 'arm7', 'arm64', 'loong64', 'mips', 'mipsle', 'mips64', 'mips64le', 'ppc64', 'ppc64le', 'riscv64', 's390', 's390x', 'sparc64', 'wasm' + + + +## `compression` + + + +The compression algorithm to use on the rpm package. + +This takes a compression algorithm and optionally a compression level. To specify a level, use 'algorithm:level'. Specifying a compression level is only valid for 'gzip' or 'zstd'. + +Here are several gzip examples with and without the optional compression level (-1 means use the default level which is 5; 9 is the max). + +'gzip:9' 'gzip:0' 'gzip:-1' 'gzip:5' 'gzip' + +Here are several zstd examples. Note that nFPM uses a library that only defines four named compression levels, and then maps the zstd integer levels to those. You may specify the zstd level as an integer, or using these names: https://github.com/klauspost/compress/tree/master/zstd#status + +'zstd:fastest' 'zstd:default' 'zstd:better' 'zstd:best' 'zstd:3' 'zstd:9' 'zstd' + + + +## `conflicts` + + + +A list of packages that this package conflicts with. + +Packages that conflict with each other cannot be installed at the same time. + +The 'conflicts' field has the same syntax as the 'depends' field. + +See: https://rpm-software-management.github.io/rpm/manual/dependencies.html#conflicts https://docs.fedoraproject.org/en-US/packaging-guidelines/Conflicts/ https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-CONFLICTS-TAG https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-depend-manual-dependencies.html#S2-RPM-DEPEND-CONFLICTS-TAG + + + +## `dependencies` + + + +Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`. + +This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. + +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. + +If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. + +You may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file. + + + +## `depends` + + + +List of package requirements (for package installers). + +The 'depends' field has install-time requirements that can use version selectors (with one of `<`, `<=`, `=`, `>=`, `>` surrounded by spaces), where the version is formatted: `[epoch:]version[-release]` + +- "git" - "bash < 5" - "perl >= 9:5.00502-3" + +The rpm file header uses the term "requires" for this. This field is named "depends" because that is the term used by nFPM. + +WARNING: This is NOT the same as the 'dependencies' field! It does not accept pants-style dependencies like target addresses. + +See: https://rpm-software-management.github.io/rpm/manual/dependencies.html#requires https://rpm-software-management.github.io/rpm/manual/dependencies.html#versioning https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-REQUIRES-TAG https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-depend-manual-dependencies.html#S2-RPM-DEPEND-REQUIRES-TAG + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `ghost_contents` + + + +A list of files that this package owns, but that this package does not include. + +Examples of ghosted files include: - A log file or a state file that does not exist until runtime. - A binary that is managed by 'alternatives'. + +RPM specs use the `%ghost` directive to list these ghosted files. + +Each file in this list gets passed to nFPM via the 'contents' field with 'type=ghost'. Then nFPM translates that into the appropriate RPM header. The file does not need to exist in your pants workspace as nFPM directly adds it to the RPM header. + +See: https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-files-list-directives.html#S3-RPM-INSIDE-FLIST-GHOST-DIRECTIVE + +N.B.: Packages distributed by Fedora must use this if they provide 'alternatives'. https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/#_how_to_use_alternatives + + + +## `group` + + + +For older rpm-based distros, this groups packages by their functionality. + +'group' is a path-like string to allow for hierarchical grouping of applications like "Applications/Editors". + +See: https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-GROUP-TAG + +N.B.: This field is only useful when packaging for old distros (EL 5 or earlier). All newer rpm-based distros have deprecated--and do not use--this field. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections + + + +## `homepage` + + + +The URL of this package's homepage like "https://example.com". + +This field is named "homepage" instead of "url" because that is the term used by nFPM, which adopted the term from deb packaging. The term "url" is used by apk, archlinux, and rpm packaging. + + + +## `license` + + + +The license of this package. + +Where possible, please try to use the SPDX license identifiers (for example "Apache-2.0", "BSD-3-Clause", "GPL-3.0-or-later", or "MIT"): https://spdx.org/licenses/ + +For more complex cases, where the package includes software with multiple licenses, consider using an SPDX license expression: https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/ + +See also these rpm-specific descriptions of how to set this field (this is helpful info even if you are not using rpm): https://docs.fedoraproject.org/en-US/legal/license-field/ + +nFPM does not yet generate the debian/copyright file, so this field is technically unused for now. Even for deb, we recommend using this field to document the software license for this package. See also these pages about specifying a license for deb packaging: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification https://wiki.debian.org/Proposals/CopyrightFormat#Differences_between_DEP5_and_SPDX + + + +## `mtime` + + + +The file modification time as an RFC 3339 formatted string. + +For example: 2008-01-02T15:04:05Z + +The format is defined in RFC 3339: https://rfc-editor.org/rfc/rfc3339.html + +NOTE: This field does NOT set the mtime for package contents. It sets the build time in package metadata (for package types that have that metadata), as well as the file modification time for files that nFPM generates in the package. To set the mtime for package contents, use the `file_mtime` field on the relevant `nfpm_content_*` targets. + +The default value is '1980-01-01T00:00:00Z'. You may also override the default value by setting `[nfpm].default_mtime` in `pants.toml`, or by setting the `SOURCE_DATE_EPOCH` environment variable. + +See also: https://reproducible-builds.org/docs/timestamps/ + + + +## `output_path` + + + +Where the built directory tree should be located. + +If undefined, this will use the path to the BUILD file, followed by the target name. For example, `src/project/packaging:rpm` would be `src.project.packaging/rpm/`. + +Regardless of whether you use the default or set this field, the package's file name will have the packaging system's conventional filename (as understood by nFPM). So, an rpm using the default for this field, the target `src/project/packaging:rpm` might have a final path like `src.project.packaging/rpm/projectname-1.2.3-1.x86_64.rpm`. Similarly, for deb, the target `src/project/packaging:deb` might have a final path like `src.project.packaging/deb/projectname_1.2.3+git-1_x86_64.deb`. The other packagers have their own formats as well. + +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. + + + +## `packager` + + + +The name and email address of the packager or packager organization. + +The 'packager' is used to identify who actually packaged the software, as opposed to the author of the software. + +The name is first, then the email address inside angle brackets `<>` (in RFC5322 format). For example: "Foo Bar <maintainer@example.com>" This format is the conventional format; it not a hard requirement. + +See: https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-PACKAGER-TAG + +N.B.: Packages distributed by Fedora do not use this field. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections + + + +## `platform` + + + +The package platform or OS. + +You probably do not need to change the package's OS. nFPM is designed with the assumption that this is a GOOS value (since nFPM is part of the "goreleaser" project). But, nFPM does not do much with it. + +For archlinux and apk, the only valid value is 'linux'. For deb, this can be used as part of the 'Architecture' entry. For rpm, this populates the "OS" tag. + + + +## `prefixes` + + + +A list of relocatable prefixes (to support relocatable rpms). + +Defining 'prefixes' allows rpm to install your package at an alternative prefix if the user requests that using the `--prefix` flag. This list is the default list of prefixes used by this package. If rpm relocates an installation of this package, it will strip off each of these prefixes, replacing them with the `--prefix` requested by the user. + +Before using this, ensure that any packaged software can actually run from alternate prefixes, and watch out for any absolute symlinks targets which might not be relocated correctly. + +RPM specs use the `Prefix:` tag to list each prefix in this list. + +See: https://rpm-software-management.github.io/rpm/manual/tags.html#packages-with-files https://ftp.osuosl.org/pub/rpm/max-rpm/ch-rpm-reloc.html https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-PREFIX-TAG + + + +## `provides` + + + +A list of virtual packages or file paths that this package provides. + +This is used so that multiple packages can be be alternatives for each other. The list can include virtual package names and/or file paths. For example the `bash` package includes these in 'provides': + +- "bash" - "/bin/sh" - "/bin/bash" + +This means another package could also provide alternative implementations for the "bash" package name and could provide "/bin/sh" and/or "/bin/bash". + +N.B.: Virtual package names must not include any version numbers. + +See: https://rpm-software-management.github.io/rpm/manual/dependencies.html#provides https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-depend-manual-dependencies.html#S2-RPM-DEPEND-PROVIDES-TAG + + + +## `recommends` + + + +List of weak package requirements (for package installers). + +This is like the 'depends' field, but the package resolver can ignore the requirement if it cannot resolve the packages with it included. If an entry in 'recommends' is ignored, no error or warning gets reported. + +The 'recommends' field has the same syntax as the 'depends' field. + +See: https://rpm-software-management.github.io/rpm/manual/dependencies.html#weak-dependencies + + + +## `replaces` + + + +A list of packages that this package obsoletes (replaces). + +When a pacakge name changes or splits, rpm uses "obsoletes" (ie the 'replaces' field) on the new package to list the old package name(s) that can be upgraded to this package. + +The rpm file header uses the term "obsoletes" for this. This field is named "replaces" because that is the term used by nFPM. + +See: https://rpm-software-management.github.io/rpm/manual/dependencies.html#obsoletes + + + +## `scripts` + + + +Map of install scriptlet source files for the deb package. + +This maps the script type (key) to the script source file (value). Each of the script source file(s) must be provided via 'dependencies'. The script types are the names used by nFPM. For reference, RPM uses the following scriptlet tag names instead and runs them before/after the indicated phase: + +``` +| nFPM term | RPM scriptlet | RPM phase | ++-------------+---------------+-------------+ +| preinstall | %pre | install | +| postinstall | %post | install | +| preremove | %preun | uninstall | +| postremove | %postun | uninstall | +| pretrans | %pretrans | transaction | +| posttrans | %posttrans | transaction | +| verify | %verifyscript | verify | +``` + +Please consult the RPM docs to understand what is required of these scripts. + +See: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/ https://rpm-software-management.github.io/rpm/manual/tags.html#scriptlets https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-scripts.html#S2-RPM-INSIDE-ERASE-TIME-SCRIPTS + + + +## `suggests` + + + +List of very weak package requirements (for package installers). + +These suggestions are ignored by the package resolver. They are merely shown to the user as optional packages that the user might want to also install. + +The 'suggests' field has the same syntax as the 'depends' field. + +See: https://rpm-software-management.github.io/rpm/manual/dependencies.html#weak-dependencies + + + +## `summary` + + + +A one-line description of the packaged software. + +If unset, nFPM will use the first line of 'description' for the 'summary'. + +See: https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-SUMMARY-TAG + + + +## `tags` + + + +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. + + + +## `vendor` + + + +The entity responsible for packaging (typically an organization). + +See: https://ftp.osuosl.org/pub/rpm/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-VENDOR-TAG + +N.B.: Packages distributed by Fedora do not use this field. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections + + + +## `version_epoch` + + + +A package with a higher version epoch will always be considered newer. This is primarily useful when the version numbering scheme has changed. + +Debian and RPM documentation warn against using epoch in most cases: https://www.debian.org/doc/debian-policy/ch-controlfields.html#epochs-should-be-used-sparingly https://rpm-packaging-guide.github.io/#epoch + +When this field is None (the default) nFPM will use "" for deb packages, and "0" for rpm packages. + +N.B.: The nFPM documentation incorrectly notes that nFPM can parse this from the 'version' field; the nFPM code actually does not replace or update this. + + + +## `version_metadata` + + + +This is package-manager specific metadata for the version. + +This is typically prefixed with a "+" in the version. If the version contains "+git", then the 'version_metadata' is "git". Debian has various conventions for this metadata, including things like "+b", "+nmu", "+really", and "+deb10u1". See: https://www.debian.org/doc/debian-policy/ch-controlfields.html#special-version-conventions + +nFPM extracts the default for this from 'version' if it is semver compatible. If you set 'version_metadata', then any metadata component of 'version' gets discarded. + + + +## `version_prerelease` + + + +This is a pre-release indicator like "alpha" or "beta" and often includes a numeric component like "rc1" and "rc2". + +For apk and archlinux, version and prerelease are merely concatenated. For deb and rpm, prerelease is typically prefixed with a "~" in the version. + +nFPM extracts the default for this from 'version' if it is semver compatible. If you set 'version_prerelease', then any prerelease component of 'version' gets discarded. + + + +## `version_release` + + + +The release or revision number for a given package version. + +Increment the release each time you release the same version of the package. Often, these releases allow for correcting metadata about a package or to rebuild something that was broken in a previous release of that version. + +Reset this to 1 whenever you bump the 'version' field. + +N.B.: nFPM does NOT parse this from the 'version' field. + + + +## `version_schema` + + + +Which schema the 'version' field follows. + +nFPM only supports two schemas for now: semver, none + +If this is "none", then nFPM will use 'version' as-is. + +If this is "semver", then nFPM will parse 'version' into its constituent parts using a lenient algorithm: It will strip a `v` prefix and will accept versions with fewer than 3 components, like `v1.2`. If parsing fails, then the version is used as-is. If parsing succeeds, nFPM replaces config options with the parsed components. + +The 'version' field always gets replaced with a dotted 3 part version (Major.Minor.Patch). + +The 'version_prerelease' field is only updated if not set. It gets the "dev", "alpha", "rc", or similar parsed prerelease indicator. + +The 'version_metadata' field is only updated if not set. This will be set with "git" when the version contains "+git" and similar metadata tags. + +The 'version_release' and 'version_epoch' fields are NOT replaced by components parsed from 'version'. + +N.B.: Some of these fields are not available for all package types. + +This field is named "version" because that is the term used by nFPM. Though deb and rpm packaging also use "version", this is known as "pkgver" in apk and archlinux packaging. + + + + diff --git a/docs/reference/targets/node_package.mdx b/docs/reference/targets/node_package.mdx index 8751be2dc..1e2dc8259 100644 --- a/docs/reference/targets/node_package.mdx +++ b/docs/reference/targets/node_package.mdx @@ -40,7 +40,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/node_third_party_package.mdx b/docs/reference/targets/node_third_party_package.mdx index 76bd3e632..bd4aa7bf8 100644 --- a/docs/reference/targets/node_third_party_package.mdx +++ b/docs/reference/targets/node_third_party_package.mdx @@ -52,7 +52,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/openapi_bundle.mdx b/docs/reference/targets/openapi_bundle.mdx index 6b08e5bf0..22d634aa5 100644 --- a/docs/reference/targets/openapi_bundle.mdx +++ b/docs/reference/targets/openapi_bundle.mdx @@ -41,7 +41,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/openapi_document.mdx b/docs/reference/targets/openapi_document.mdx index 809e3144e..5a6cf3d25 100644 --- a/docs/reference/targets/openapi_document.mdx +++ b/docs/reference/targets/openapi_document.mdx @@ -40,7 +40,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/openapi_documents.mdx b/docs/reference/targets/openapi_documents.mdx index 43aa6f743..ae8458b31 100644 --- a/docs/reference/targets/openapi_documents.mdx +++ b/docs/reference/targets/openapi_documents.mdx @@ -28,7 +28,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/openapi_source.mdx b/docs/reference/targets/openapi_source.mdx index 0d8ab241e..80fa7ebb5 100644 --- a/docs/reference/targets/openapi_source.mdx +++ b/docs/reference/targets/openapi_source.mdx @@ -40,7 +40,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/openapi_sources.mdx b/docs/reference/targets/openapi_sources.mdx index a5397a8ae..0eebc99c7 100644 --- a/docs/reference/targets/openapi_sources.mdx +++ b/docs/reference/targets/openapi_sources.mdx @@ -28,7 +28,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/package_json.mdx b/docs/reference/targets/package_json.mdx index 3661f263a..628bcf502 100644 --- a/docs/reference/targets/package_json.mdx +++ b/docs/reference/targets/package_json.mdx @@ -32,7 +32,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/pants_requirements.mdx b/docs/reference/targets/pants_requirements.mdx index 6b580dca8..0f20e50a0 100644 --- a/docs/reference/targets/pants_requirements.mdx +++ b/docs/reference/targets/pants_requirements.mdx @@ -79,7 +79,7 @@ If true, include `pantsbuild.pants.testutil` to write tests for your plugin. The PEP 440 version specifier version of Pants to target. E.g. `== 2.15.*`, or `>= 2.16.0, < 2.17.0` diff --git a/docs/reference/targets/pex_binaries.mdx b/docs/reference/targets/pex_binaries.mdx index 3b6584bd5..451ec5f4a 100644 --- a/docs/reference/targets/pex_binaries.mdx +++ b/docs/reference/targets/pex_binaries.mdx @@ -47,7 +47,7 @@ You can give a list of multiple complete platforms to create a multiplatform PEX Complete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform). -See https://www.pantsbuild.org/2.23/docs/python/overview/pex for details. +See https://www.pantsbuild.org/2.24/docs/python/overview/pex#generating-the-complete_platforms-file for details on how to create this file. @@ -62,7 +62,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. @@ -228,7 +228,7 @@ Specify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPyt If the field is not set, it will default to the option `[python].interpreter_constraints`. -See https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. +See https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. diff --git a/docs/reference/targets/pex_binary.mdx b/docs/reference/targets/pex_binary.mdx index f0b5fd2b6..49ee498b5 100644 --- a/docs/reference/targets/pex_binary.mdx +++ b/docs/reference/targets/pex_binary.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; A Python target that can be converted into an executable PEX file. -PEX files are self-contained executable files that contain a complete Python environment capable of running the target. For more information, see https://www.pantsbuild.org/2.23/docs/python/overview/pex. +PEX files are self-contained executable files that contain a complete Python environment capable of running the target. For more information, see https://www.pantsbuild.org/2.24/docs/python/overview/pex. Backend: `pants.backend.python` @@ -58,7 +58,7 @@ You can give a list of multiple complete platforms to create a multiplatform PEX Complete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform). -See https://www.pantsbuild.org/2.23/docs/python/overview/pex for details. +See https://www.pantsbuild.org/2.24/docs/python/overview/pex#generating-the-complete_platforms-file for details on how to create this file. @@ -73,7 +73,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. @@ -266,7 +266,7 @@ Specify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPyt If the field is not set, it will default to the option `[python].interpreter_constraints`. -See https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. +See https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. diff --git a/docs/reference/targets/protobuf_source.mdx b/docs/reference/targets/protobuf_source.mdx index f1c5cfc2e..59b6115dc 100644 --- a/docs/reference/targets/protobuf_source.mdx +++ b/docs/reference/targets/protobuf_source.mdx @@ -12,8 +12,8 @@ import styles from "@site/src/components/reference/styles.module.css"; A single Protobuf file used to generate various languages. See language-specific docs: -Python: https://www.pantsbuild.org/2.23/docs/python/integrations/protobuf-and-grpc -Go: https://www.pantsbuild.org/2.23/docs/go/integrations/protobuf +Python: https://www.pantsbuild.org/2.24/docs/python/integrations/protobuf-and-grpc +Go: https://www.pantsbuild.org/2.24/docs/go/integrations/protobuf Backend: `pants.backend.codegen.protobuf.python` @@ -44,7 +44,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. @@ -134,7 +134,7 @@ Specify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPyt If the field is not set, it will default to the option `[python].interpreter_constraints`. -See https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. +See https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. diff --git a/docs/reference/targets/protobuf_sources.mdx b/docs/reference/targets/protobuf_sources.mdx index 9b1babd22..de764903b 100644 --- a/docs/reference/targets/protobuf_sources.mdx +++ b/docs/reference/targets/protobuf_sources.mdx @@ -28,7 +28,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. @@ -146,7 +146,7 @@ Specify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPyt If the field is not set, it will default to the option `[python].interpreter_constraints`. -See https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. +See https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. diff --git a/docs/reference/targets/pyoxidizer_binary.mdx b/docs/reference/targets/pyoxidizer_binary.mdx index aff7d772d..b6698be13 100644 --- a/docs/reference/targets/pyoxidizer_binary.mdx +++ b/docs/reference/targets/pyoxidizer_binary.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; A single-file Python executable with a Python interpreter embedded, built via PyOxidizer. -To use this target, first create a `python_distribution` target with the code you want included in your binary, per https://www.pantsbuild.org/2.23/docs/python/overview/building-distributions. Then add this `python_distribution` target to the `dependencies` field. See the `help` for `dependencies` for more information. +To use this target, first create a `python_distribution` target with the code you want included in your binary, per https://www.pantsbuild.org/2.24/docs/python/overview/building-distributions. Then add this `python_distribution` target to the `dependencies` field. See the `help` for `dependencies` for more information. You may optionally want to set the `entry_point` field. For advanced use cases, you can use a custom PyOxidizer config file, rather than what Pants generates, by setting the `template` field. You may also want to set `[pyoxidizer].args` to a value like `['--release']`. @@ -29,9 +29,9 @@ Backend: `pants.backend.experimental.python.pac The addresses of `python_distribution` target(s) to include in the binary, e.g. `['src/python/project:dist']`. -The distribution(s) must generate at least one wheel file. For example, if using `generate_setup=True`, then make sure `wheel=True`. See https://www.pantsbuild.org/2.23/docs/python/overview/building-distributions. +The distribution(s) must generate at least one wheel file. For example, if using `generate_setup=True`, then make sure `wheel=True`. See https://www.pantsbuild.org/2.24/docs/python/overview/building-distributions. -Usually, you only need to specify a single `python_distribution`. However, if that distribution depends on another first-party distribution in your repository, you must specify that dependency too, otherwise PyOxidizer would try installing the distribution from PyPI. Note that a `python_distribution` target might depend on another `python_distribution` target even if it is not included in its own `dependencies` field, as explained at https://www.pantsbuild.org/2.23/docs/python/overview/building-distributions; if code from one distribution imports code from another distribution, then there is a dependency and you must include both `python_distribution` targets in the `dependencies` field of this `pyoxidizer_binary` target. +Usually, you only need to specify a single `python_distribution`. However, if that distribution depends on another first-party distribution in your repository, you must specify that dependency too, otherwise PyOxidizer would try installing the distribution from PyPI. Note that a `python_distribution` target might depend on another `python_distribution` target even if it is not included in its own `dependencies` field, as explained at https://www.pantsbuild.org/2.24/docs/python/overview/building-distributions; if code from one distribution imports code from another distribution, then there is a dependency and you must include both `python_distribution` targets in the `dependencies` field of this `pyoxidizer_binary` target. Target types other than `python_distribution` will be ignored. diff --git a/docs/reference/targets/python_aws_lambda_function.mdx b/docs/reference/targets/python_aws_lambda_function.mdx index 012520682..1d50bcb37 100644 --- a/docs/reference/targets/python_aws_lambda_function.mdx +++ b/docs/reference/targets/python_aws_lambda_function.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; A self-contained Python function suitable for uploading to AWS Lambda. -See https://www.pantsbuild.org/2.23/docs/python/integrations/aws-lambda. +See https://www.pantsbuild.org/2.24/docs/python/integrations/aws-lambda. Backend: `pants.backend.awslambda.python` @@ -59,7 +59,7 @@ You can give a list of multiple complete platforms to create a multiplatform PEX Complete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform). -See https://www.pantsbuild.org/2.23/docs/python/overview/pex for details. +See https://www.pantsbuild.org/2.24/docs/python/overview/pex#generating-the-complete_platforms-file for details on how to create this file. N.B.: only one of this and `runtime` can be set. If `runtime` is set, a default complete platform is chosen, if one is known for that runtime. Explicitly set this to `[]` to use the platform's ambient interpreter, such as when running in an docker environment. @@ -76,7 +76,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. @@ -206,7 +206,7 @@ All dependencies must share the same value for their `resolve` field. ## `runtime` diff --git a/docs/reference/targets/python_aws_lambda_layer.mdx b/docs/reference/targets/python_aws_lambda_layer.mdx index ab755c5ec..793ebf3ed 100644 --- a/docs/reference/targets/python_aws_lambda_layer.mdx +++ b/docs/reference/targets/python_aws_lambda_layer.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; A Python layer suitable for uploading to AWS Lambda. -See https://www.pantsbuild.org/2.23/docs/python/integrations/aws-lambda. +See https://www.pantsbuild.org/2.24/docs/python/integrations/aws-lambda. Backend: `pants.backend.awslambda.python` @@ -29,7 +29,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. @@ -63,7 +63,7 @@ You can give a list of multiple complete platforms to create a multiplatform PEX Complete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform). -See https://www.pantsbuild.org/2.23/docs/python/overview/pex for details. +See https://www.pantsbuild.org/2.24/docs/python/overview/pex#generating-the-complete_platforms-file for details on how to create this file. N.B.: only one of this and `runtime` can be set. If `runtime` is set, a default complete platform is chosen, if one is known for that runtime. Explicitly set this to `[]` to use the platform's ambient interpreter, such as when running in an docker environment. @@ -202,7 +202,7 @@ All dependencies must share the same value for their `resolve` field. ## `runtime` diff --git a/docs/reference/targets/python_distribution.mdx b/docs/reference/targets/python_distribution.mdx index 623c81496..653d88c88 100644 --- a/docs/reference/targets/python_distribution.mdx +++ b/docs/reference/targets/python_distribution.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; A publishable Python setuptools distribution (e.g. an sdist or wheel). -See https://www.pantsbuild.org/2.23/docs/python/overview/building-distributions. +See https://www.pantsbuild.org/2.24/docs/python/overview/building-distributions. Backend: `pants.backend.python` @@ -29,7 +29,7 @@ The setup.py kwargs for the external artifact built from this target. You must define `name`. You can also set almost any keyword argument accepted by setup.py in the `setup()` function: (https://packaging.python.org/guides/distributing-packages-using-setuptools/#setup-args). -See https://www.pantsbuild.org/2.23/docs/writing-plugins/common-plugin-tasks/custom-python-artifact-kwargs for how to write a plugin to dynamically generate kwargs. +See https://www.pantsbuild.org/2.24/docs/writing-plugins/common-plugin-tasks/custom-python-artifact-kwargs for how to write a plugin to dynamically generate kwargs. @@ -44,7 +44,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. @@ -136,7 +136,7 @@ Specify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPyt If the field is not set, it will default to the option `[python].interpreter_constraints`. -See https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. +See https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. diff --git a/docs/reference/targets/python_google_cloud_function.mdx b/docs/reference/targets/python_google_cloud_function.mdx index 2d7760e2c..cac58a82a 100644 --- a/docs/reference/targets/python_google_cloud_function.mdx +++ b/docs/reference/targets/python_google_cloud_function.mdx @@ -11,7 +11,7 @@ import styles from "@site/src/components/reference/styles.module.css"; A self-contained Python function suitable for uploading to Google Cloud Function. -See https://www.pantsbuild.org/2.23/docs/python/integrations/google-cloud-functions. +See https://www.pantsbuild.org/2.24/docs/python/integrations/google-cloud-functions. Backend: `pants.backend.google_cloud_function.python` @@ -58,7 +58,7 @@ You can give a list of multiple complete platforms to create a multiplatform PEX Complete platforms should be addresses of `file` or `resource` targets that point to files that contain complete platform JSON as described by Pex (https://pex.readthedocs.io/en/latest/buildingpex.html#complete-platform). -See https://www.pantsbuild.org/2.23/docs/python/overview/pex for details. +See https://www.pantsbuild.org/2.24/docs/python/overview/pex#generating-the-complete_platforms-file for details on how to create this file. N.B.: only one of this and `runtime` can be set. If `runtime` is set, a default complete platform is chosen, if one is known for that runtime. Explicitly set this to `[]` to use the platform's ambient interpreter, such as when running in an docker environment. @@ -75,7 +75,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/python_requirement.mdx b/docs/reference/targets/python_requirement.mdx index 6b490fd4c..f4769f12e 100644 --- a/docs/reference/targets/python_requirement.mdx +++ b/docs/reference/targets/python_requirement.mdx @@ -13,7 +13,7 @@ A Python requirement installable by pip. This target is useful when you want to declare Python requirements inline in a BUILD file. If you have a `requirements.txt` file already, you can instead use the target generator `python_requirements` to convert each requirement into a `python_requirement` target automatically. For Poetry, use `poetry_requirements`. -See https://www.pantsbuild.org/2.23/docs/python/overview/third-party-dependencies. +See https://www.pantsbuild.org/2.24/docs/python/overview/third-party-dependencies. Backend: `pants.backend.python` @@ -46,7 +46,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. @@ -96,7 +96,7 @@ The modules this requirement provides (used for dependency inference). For example, the requirement `setuptools` provides `["setuptools", "pkg_resources", "easy_install"]`. -Usually you can leave this field off. If unspecified, Pants will first look at the default module mapping (https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/python/dependency_inference/default_module_mapping.py), and then will default to the normalized project name. For example, the requirement `Django` would default to the module `django`. +Usually you can leave this field off. If unspecified, Pants will first look at the default module mapping (https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/python/dependency_inference/default_module_mapping.py), and then will default to the normalized project name. For example, the requirement `Django` would default to the module `django`. Mutually exclusive with the `type_stub_modules` field. @@ -141,7 +141,7 @@ The modules this requirement provides if the requirement is a type stub (used fo For example, the requirement `types-requests` provides `["requests"]`. -Usually you can leave this field off. If unspecified, Pants will first look at the default module mapping (https://github.com/pantsbuild/pants/blob/release_2.23.0.dev6/src/python/pants/backend/python/dependency_inference/default_module_mapping.py). If not found _and_ the requirement name starts with `types-` or `stubs-`, or ends with `-types` or `-stubs`, will default to that requirement name without the prefix/suffix. For example, `types-requests` would default to `requests`. Otherwise, will be treated like a normal requirement (see the `modules` field). +Usually you can leave this field off. If unspecified, Pants will first look at the default module mapping (https://github.com/pantsbuild/pants/blob/release_2.24.0.dev0/src/python/pants/backend/python/dependency_inference/default_module_mapping.py). If not found _and_ the requirement name starts with `types-` or `stubs-`, or ends with `-types` or `-stubs`, will default to that requirement name without the prefix/suffix. For example, `types-requests` would default to `requests`. Otherwise, will be treated like a normal requirement (see the `modules` field). Mutually exclusive with the `modules` field. diff --git a/docs/reference/targets/python_source.mdx b/docs/reference/targets/python_source.mdx index 98bf0456e..539ea6227 100644 --- a/docs/reference/targets/python_source.mdx +++ b/docs/reference/targets/python_source.mdx @@ -40,7 +40,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. @@ -76,7 +76,7 @@ Specify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPyt If the field is not set, it will default to the option `[python].interpreter_constraints`. -See https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. +See https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. diff --git a/docs/reference/targets/python_sources.mdx b/docs/reference/targets/python_sources.mdx index 0b2a0aeed..2210ef5d4 100644 --- a/docs/reference/targets/python_sources.mdx +++ b/docs/reference/targets/python_sources.mdx @@ -30,7 +30,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. @@ -66,7 +66,7 @@ Specify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPyt If the field is not set, it will default to the option `[python].interpreter_constraints`. -See https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. +See https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. diff --git a/docs/reference/targets/python_test.mdx b/docs/reference/targets/python_test.mdx index 6799fc146..c92238c1d 100644 --- a/docs/reference/targets/python_test.mdx +++ b/docs/reference/targets/python_test.mdx @@ -13,7 +13,7 @@ A single Python test file, written in either Pytest style or unittest style. All test util code, including `conftest.py`, should go into a dedicated `python_source` target and then be included in the `dependencies` field. (You can use the `python_test_utils` target to generate these `python_source` targets.) -See https://www.pantsbuild.org/2.23/docs/python/goals/test +See https://www.pantsbuild.org/2.24/docs/python/goals/test Backend: `pants.backend.python` @@ -68,7 +68,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. @@ -169,7 +169,7 @@ Specify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPyt If the field is not set, it will default to the option `[python].interpreter_constraints`. -See https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. +See https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. diff --git a/docs/reference/targets/python_test_utils.mdx b/docs/reference/targets/python_test_utils.mdx index f73836703..8ba70a045 100644 --- a/docs/reference/targets/python_test_utils.mdx +++ b/docs/reference/targets/python_test_utils.mdx @@ -30,7 +30,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. @@ -66,7 +66,7 @@ Specify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPyt If the field is not set, it will default to the option `[python].interpreter_constraints`. -See https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. +See https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. diff --git a/docs/reference/targets/python_tests.mdx b/docs/reference/targets/python_tests.mdx index d8fee010d..40d964c29 100644 --- a/docs/reference/targets/python_tests.mdx +++ b/docs/reference/targets/python_tests.mdx @@ -52,7 +52,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. @@ -152,7 +152,7 @@ Specify more than one element to OR the constraints, e.g. `['PyPy==3.7.*', 'CPyt If the field is not set, it will default to the option `[python].interpreter_constraints`. -See https://www.pantsbuild.org/2.23/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. +See https://www.pantsbuild.org/2.24/docs/python/overview/interpreter-compatibility for how these interpreter constraints are merged with the constraints of dependencies. diff --git a/docs/reference/targets/remote_environment.mdx b/docs/reference/targets/remote_environment.mdx index 541e7b235..5e03fc4dd 100644 --- a/docs/reference/targets/remote_environment.mdx +++ b/docs/reference/targets/remote_environment.mdx @@ -239,6 +239,18 @@ Overrides the default value from the option `[golang].external_linker_binary_nam +## `golang_extra_tools` + + + +Overrides the default value from the option `[golang].extra_tools` when this environment target is active. + + + ## `golang_go_search_paths` +## `nfpm_default_mtime` + + + +Overrides the default value from the option `[nfpm].default_mtime` when this environment target is active. + + + ## `nodejs_corepack_env_vars` '` by default. If you want to invo +## `cache_scope` + + + +Set the "cache scope" of the executed process to provided value. The cache scope determines for how long Pants will cache the result of the process execution (assuming no changes to files or dependencies invalidate the result in the meantime). + +The valid values are: + +- `from_environment`: Use the default cache scope for the applicable environment in which the process will execute. This is `success` for all environments except for `experimental_workspace_environment`, in which case `session` cache scope will be used. + +- `success`: Cache successful executions of the process. + +- `success_per_pantsd_restart`: Cache successful executions of the process for the life of the + applicable pantsd process. + +- `session`: Only cache the result for a single Pants session. This will usually be a single invocation of the `pants` tool. + + + ## `description` +## `outputs_match_mode` + + + +Configure whether all, or some, of the values in the `output_files` and `output_directories` fields must actually match the outputs generated by the invoked process. These values are called "globs". Outputs may be matched by more than one glob. + +Valid values are: + +- `all_warn`: Log a warning if any glob fails to match an output. (In other words, all globs must match to avoid a warning.) This is the default value. + +- `all`: Ensure all globs match an output or else raise an error. + +- `at_least_one_warn`: Log a warning if none of the globs match an output. + +- `at_least_one`: Ensure at least one glob matches an output or else raise an error. + +- `allow_empty`: Allow empty digests (which means nothing was captured). This disables checking that globs match outputs. + + + ## `path_env_modify` +## `log_fingerprinting_errors` + + + +If True, then any errors encountered while fingerprinting candidate binaries will be logged as a warning. + + + ## `tags` `pants.backend.codegen.thrift.apache.python` @@ -43,7 +43,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/thrift_sources.mdx b/docs/reference/targets/thrift_sources.mdx index 6cdc1bd8b..f73d20fbb 100644 --- a/docs/reference/targets/thrift_sources.mdx +++ b/docs/reference/targets/thrift_sources.mdx @@ -28,7 +28,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/tsx_source.mdx b/docs/reference/targets/tsx_source.mdx new file mode 100644 index 000000000..a6e3cce4b --- /dev/null +++ b/docs/reference/targets/tsx_source.mdx @@ -0,0 +1,77 @@ +--- +title: tsx_source +description: | + A single TSX source file. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A single TSX source file. + +Backend: `pants.backend.experimental.typescript` + +--- + + + +## `source` + + + +A single file that belongs to this target. + +Path is relative to the BUILD file's directory, e.g. `source='example.ext'`. + + + +## `dependencies` + + + +Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`. + +This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. + +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. + +If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. + +You may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `tags` + + + +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. + + + + diff --git a/docs/reference/targets/tsx_sources.mdx b/docs/reference/targets/tsx_sources.mdx new file mode 100644 index 000000000..662190556 --- /dev/null +++ b/docs/reference/targets/tsx_sources.mdx @@ -0,0 +1,109 @@ +--- +title: tsx_sources +description: | + Generate a `tsx_source` target for each file in the `sources` field. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Generate a `tsx_source` target for each file in the `sources` field. + +Backend: `pants.backend.experimental.typescript` + +--- + + + +## `dependencies` + + + +Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`. + +This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. + +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. + +If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. + +You may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `overrides` + + + +Override the field values for generated `tsx_source` targets. + +Expects a dictionary of relative file paths and globs to a dictionary for the overrides. You may either use a string for a single path / glob, or a string tuple for multiple paths / globs. Each override is a dictionary of field names to the overridden value. + +For example: + +``` +overrides={ + "foo.tsx": {"skip_prettier": True}, + "bar.tsx": {"skip_prettier": True}, + ("foo.tsx", "bar.tsx"): {"tags": ["no_lint"]}, +} +``` + +File paths and globs are relative to the BUILD file's directory. Every overridden file is validated to belong to this target's `sources` field. + +If you'd like to override a field's value for every `tsx_source` target generated by this target, change the field directly on this target rather than using the `overrides` field. + +You can specify the same file name in multiple keys, so long as you don't override the same field more than one time for the file. + + + +## `sources` + + + +A list of files and globs that belong to this target. + +Paths are relative to the BUILD file's directory. You can ignore files/globs by prefixing them with `!`. + +Example: `sources=['utils.tsx', 'subdir/*.tsx', '!ignore_me.tsx']` + + + +## `tags` + + + +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. + + + + diff --git a/docs/reference/targets/tsx_test.mdx b/docs/reference/targets/tsx_test.mdx new file mode 100644 index 000000000..046b92bf0 --- /dev/null +++ b/docs/reference/targets/tsx_test.mdx @@ -0,0 +1,129 @@ +--- +title: tsx_test +description: | + A single TSX test file. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +A single TSX test file. + +Backend: `pants.backend.experimental.typescript` + +--- + + + +## `source` + + + +A single file that belongs to this target. + +Path is relative to the BUILD file's directory, e.g. `source='example.ext'`. + + + +## `batch_compatibility_tag` + + + +An arbitrary value used to mark the test files belonging to this target as valid for batched execution. + +It's _sometimes_ safe to run multiple `tsx_test`s within a single test runner process, and doing so can give significant wins by allowing reuse of expensive test setup / teardown logic. To opt into this behavior, set this field to an arbitrary non-empty string on all the `tsx_test` targets that are safe/compatible to run in the same process. + +If this field is left unset on a target, the target is assumed to be incompatible with all others and will run in a dedicated `nodejs test runner` process. + +If this field is set on a target, and its value is different from the value on some other test `tsx_test`, then the two targets are explicitly incompatible and are guaranteed to not run in the same `nodejs test runner` process. + +If this field is set on a target, and its value is the same as the value on some other `tsx_test`, then the two targets are explicitly compatible and _may_ run in the same test runner process. Compatible tests may not end up in the same test runner batch if: + +- There are "too many" compatible tests in a partition, as determined by the `[test].batch_size` config parameter, or +- Compatible tests have some incompatibility in Pants metadata (i.e. different `resolve`s or `extra_env_vars`). + +When tests with the same `batch_compatibility_tag` have incompatibilities in some other Pants metadata, they will be automatically split into separate batches. This way you can set a high-level `batch_compatibility_tag` using `__defaults__` and then have tests continue to work as you tweak BUILD metadata on specific targets. + + + +## `dependencies` + + + +Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`. + +This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. + +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. + +If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. + +You may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `extra_env_vars` + + + +Additional environment variables to include in test processes. + +Entries are strings in the form `ENV_VAR=value` to use explicitly; or just `ENV_VAR` to copy the value of a variable in Pants's own environment. + +This will be merged with and override values from `[test].extra_env_vars`. + + + +## `tags` + + + +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. + + + +## `timeout` + + + +A timeout (in seconds) used by each test file belonging to this target. + +If unset, will default to `[test].timeout_default`; if that option is also unset, then the test will never time out. Will never exceed `[test].timeout_maximum`. Only applies if the option `--test-timeouts` is set to true (the default). + + + + diff --git a/docs/reference/targets/tsx_tests.mdx b/docs/reference/targets/tsx_tests.mdx new file mode 100644 index 000000000..97d467c0f --- /dev/null +++ b/docs/reference/targets/tsx_tests.mdx @@ -0,0 +1,161 @@ +--- +title: tsx_tests +description: | + Generate a `tsx_test` target for each file in the `sources` field. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Generate a `tsx_test` target for each file in the `sources` field. + +Backend: `pants.backend.experimental.typescript` + +--- + + + +## `batch_compatibility_tag` + + + +An arbitrary value used to mark the test files belonging to this target as valid for batched execution. + +It's _sometimes_ safe to run multiple `tsx_test`s within a single test runner process, and doing so can give significant wins by allowing reuse of expensive test setup / teardown logic. To opt into this behavior, set this field to an arbitrary non-empty string on all the `tsx_test` targets that are safe/compatible to run in the same process. + +If this field is left unset on a target, the target is assumed to be incompatible with all others and will run in a dedicated `nodejs test runner` process. + +If this field is set on a target, and its value is different from the value on some other test `tsx_test`, then the two targets are explicitly incompatible and are guaranteed to not run in the same `nodejs test runner` process. + +If this field is set on a target, and its value is the same as the value on some other `tsx_test`, then the two targets are explicitly compatible and _may_ run in the same test runner process. Compatible tests may not end up in the same test runner batch if: + +- There are "too many" compatible tests in a partition, as determined by the `[test].batch_size` config parameter, or +- Compatible tests have some incompatibility in Pants metadata (i.e. different `resolve`s or `extra_env_vars`). + +When tests with the same `batch_compatibility_tag` have incompatibilities in some other Pants metadata, they will be automatically split into separate batches. This way you can set a high-level `batch_compatibility_tag` using `__defaults__` and then have tests continue to work as you tweak BUILD metadata on specific targets. + + + +## `dependencies` + + + +Addresses to other targets that this target depends on, e.g. `['helloworld/subdir:lib', 'helloworld/main.py:lib', '3rdparty:reqs#django']`. + +This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. + +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. + +If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. + +You may exclude dependencies by prefixing with `!`, e.g. `['!helloworld/subdir:lib', '!./sibling.txt']`. Ignores are intended for false positives with dependency inference; otherwise, simply leave off the dependency from the BUILD file. + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `extra_env_vars` + + + +Additional environment variables to include in test processes. + +Entries are strings in the form `ENV_VAR=value` to use explicitly; or just `ENV_VAR` to copy the value of a variable in Pants's own environment. + +This will be merged with and override values from `[test].extra_env_vars`. + + + +## `overrides` + + + +Override the field values for generated `tsx_test` targets. + +Expects a dictionary of relative file paths and globs to a dictionary for the overrides. You may either use a string for a single path / glob, or a string tuple for multiple paths / globs. Each override is a dictionary of field names to the overridden value. + +For example: + +``` +overrides={ + "foo.test.tsx": {"timeout": 120}, + "bar.test.tsx": {"timeout": 200}, + ("foo.test.tsx", "bar.test.tsx"): {"tags": ["slow_tests"]}, +} +``` + +File paths and globs are relative to the BUILD file's directory. Every overridden file is validated to belong to this target's `sources` field. + +If you'd like to override a field's value for every `tsx_test` target generated by this target, change the field directly on this target rather than using the `overrides` field. + +You can specify the same file name in multiple keys, so long as you don't override the same field more than one time for the file. + + + +## `sources` + + + +A list of files and globs that belong to this target. + +Paths are relative to the BUILD file's directory. You can ignore files/globs by prefixing them with `!`. + +Example: `sources=['utils.test.tsx', 'subdir/*.test.tsx', '!ignore_me.test.tsx']` + + + +## `tags` + + + +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. + + + +## `timeout` + + + +A timeout (in seconds) used by each test file belonging to this target. + +If unset, will default to `[test].timeout_default`; if that option is also unset, then the test will never time out. Will never exceed `[test].timeout_maximum`. Only applies if the option `--test-timeouts` is set to true (the default). + + + + diff --git a/docs/reference/targets/typescript_source.mdx b/docs/reference/targets/typescript_source.mdx index 51f82cdc7..a4b00f7de 100644 --- a/docs/reference/targets/typescript_source.mdx +++ b/docs/reference/targets/typescript_source.mdx @@ -40,7 +40,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/typescript_sources.mdx b/docs/reference/targets/typescript_sources.mdx index 30095e884..130fe105c 100644 --- a/docs/reference/targets/typescript_sources.mdx +++ b/docs/reference/targets/typescript_sources.mdx @@ -28,7 +28,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/typescript_test.mdx b/docs/reference/targets/typescript_test.mdx index 69695243f..01b7d20c0 100644 --- a/docs/reference/targets/typescript_test.mdx +++ b/docs/reference/targets/typescript_test.mdx @@ -64,7 +64,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/typescript_tests.mdx b/docs/reference/targets/typescript_tests.mdx index 5e7ccec0c..5f76d4876 100644 --- a/docs/reference/targets/typescript_tests.mdx +++ b/docs/reference/targets/typescript_tests.mdx @@ -52,7 +52,7 @@ Addresses to other targets that this target depends on, e.g. `['helloworld/subdi This augments any dependencies inferred by Pants, such as by analyzing your imports. Use `pants dependencies` or `pants peek` on this target to get the final result. -See https://www.pantsbuild.org/2.23/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. +See https://www.pantsbuild.org/2.24/docs/using-pants/key-concepts/targets-and-build-files for more about how addresses are formed, including for generated targets. You can also run `pants list ::` to find all addresses in your project, or `pants list dir` to find all addresses defined in that directory. If the target is in the same BUILD file, you can leave off the BUILD file path, e.g. `:tgt` instead of `helloworld/subdir:tgt`. For generated first-party addresses, use `./` for the file path, e.g. `./main.py:tgt`; for all other generated targets, use `:tgt#generated_name`. diff --git a/docs/reference/targets/uv_requirements.mdx b/docs/reference/targets/uv_requirements.mdx new file mode 100644 index 000000000..a32556a07 --- /dev/null +++ b/docs/reference/targets/uv_requirements.mdx @@ -0,0 +1,131 @@ +--- +title: uv_requirements +description: | + Generate a `python_requirement` for each entry in `pyproject.toml` under the `[tool.uv]` section. +--- + +import Field from "@site/src/components/reference/Field"; +import styles from "@site/src/components/reference/styles.module.css"; + +--- + +Generate a `python_requirement` for each entry in `pyproject.toml` under the `[tool.uv]` section. + +Backend: `pants.backend.python` + +--- + + + +## `description` + + + +A human-readable description of the target. + +Use `pants list --documented ::` to see all targets with descriptions. + + + +## `module_mapping` + + + +A mapping of requirement names to a list of the modules they provide. + +For example, `{"ansicolors": ["colors"]}`. + +Any unspecified requirements will use a default. See the `modules` field from the `python_requirement` target for more information. + + + +## `overrides` + + + +Override the field values for generated `python_requirement` targets. + +Expects a dictionary of requirements to a dictionary for the overrides. You may either use a string for a single requirement, or a string tuple for multiple requirements. Each override is a dictionary of field names to the overridden value. + +For example: + +``` +overrides={ + "django": {"dependencies": ["#setuptools"]}, + "ansicolors": {"description": "pretty colors"]}, + ("ansicolors, "django"): {"tags": ["overridden"]}, +} +``` + +Every overridden requirement is validated to be generated by this target. + +You can specify the same requirement in multiple keys, so long as you don't override the same field more than one time for the requirement. + + + +## `resolve` + + + +The resolve from `[python].resolves` that this requirement is included in. + +If not defined, will default to `[python].default_resolve`. + +When generating a lockfile for a particular resolve via the `generate-lockfiles` goal, it will include all requirements that are declared with that resolve. First-party targets like `python_source` and `pex_binary` then declare which resolve they use via their `resolve` field; so, for your first-party code to use a particular `python_requirement` target, that requirement must be included in the resolve used by that code. + + + +## `source` + + + +A single file that belongs to this target. + +Path is relative to the BUILD file's directory, e.g. `source='example.ext'`. + + + +## `tags` + + + +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. + + + +## `type_stubs_module_mapping` + + + +A mapping of type-stub requirement names to a list of the modules they provide. + +For example, `{"types-requests": ["requests"]}`. + +If the requirement is not specified _and_ its name looks like a type stub, Pants will use a default. See the `type_stub_modules` field from the `python_requirement` target for more information. + + + +